Fixed bug with level checking.

This commit is contained in:
tastybento 2018-08-04 15:54:23 -07:00
parent 8bc438a6b7
commit 4d44b5141c
2 changed files with 4 additions and 8 deletions

View File

@ -4,7 +4,6 @@
########################################################################################### ###########################################################################################
warps: warps:
removed: "&CWarp sign removed"
success: "&ASuccess!" success: "&ASuccess!"
sign-removed: "&CWarp sign removed!" sign-removed: "&CWarp sign removed!"
title: "Warp Signs" title: "Warp Signs"

View File

@ -45,7 +45,7 @@ public class WarpSignsListener implements Listener {
* Checks to see if a sign has been broken * Checks to see if a sign has been broken
* @param e - event * @param e - event
*/ */
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = false) @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
public void onSignBreak(BlockBreakEvent e) { public void onSignBreak(BlockBreakEvent e) {
Block b = e.getBlock(); Block b = e.getBlock();
// Signs only // Signs only
@ -69,8 +69,6 @@ public class WarpSignsListener implements Listener {
// this player's sign // this player's sign
if ((list.containsKey(user.getUniqueId()) && list.get(user.getUniqueId()).equals(s.getLocation())) if ((list.containsKey(user.getUniqueId()) && list.get(user.getUniqueId()).equals(s.getLocation()))
|| user.isOp() || user.hasPermission(addon.getPermPrefix(e.getBlock().getWorld()) + "mod.removesign")) { || user.isOp() || user.hasPermission(addon.getPermPrefix(e.getBlock().getWorld()) + "mod.removesign")) {
// Op or mod removed sign
user.sendMessage("warps.removed");
addon.getWarpSignsManager().removeWarp(s.getLocation()); addon.getWarpSignsManager().removeWarp(s.getLocation());
Bukkit.getPluginManager().callEvent(new WarpRemoveEvent(addon, s.getLocation(), user.getUniqueId())); Bukkit.getPluginManager().callEvent(new WarpRemoveEvent(addon, s.getLocation(), user.getUniqueId()));
} else { } else {
@ -87,7 +85,7 @@ public class WarpSignsListener implements Listener {
* *
* @param e - event * @param e - event
*/ */
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = false) @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
public void onSignWarpCreate(SignChangeEvent e) { public void onSignWarpCreate(SignChangeEvent e) {
Block b = e.getBlock(); Block b = e.getBlock();
if (!addon.inRegisteredWorld(b.getWorld())) { if (!addon.inRegisteredWorld(b.getWorld())) {
@ -104,9 +102,8 @@ public class WarpSignsListener implements Listener {
return; return;
} }
long level = plugin.getAddonsManager().getAddonByName(LEVEL_PLUGIN_NAME).map(l -> (Level)l) long level = plugin.getAddonsManager().getAddonByName(LEVEL_PLUGIN_NAME).map(l -> (Level)l)
.map(l -> l.getIslandLevel(b.getWorld(), user.getUniqueId())) .map(l -> l.getIslandLevel(b.getWorld(), user.getUniqueId())).orElse(0L);
.filter(l -> l < addon.getSettings().getWarpLevelRestriction()).orElse(0L); if (level < addon.getSettings().getWarpLevelRestriction()) {
if (level > 0) {
user.sendMessage("warps.error.not-enough-level"); user.sendMessage("warps.error.not-enough-level");
user.sendMessage("warps.error.your-level-is", user.sendMessage("warps.error.your-level-is",
"[level]", String.valueOf(level), "[level]", String.valueOf(level),