diff --git a/src/Blacklist.java b/src/Blacklist.java index eadb28e4..c773384f 100644 --- a/src/Blacklist.java +++ b/src/Blacklist.java @@ -45,6 +45,11 @@ public class Blacklist { */ private BlacklistLogger blacklistLogger = new BlacklistLogger(); + /** + * Blacklist contains on-acquire events. + */ + private boolean hasOnAcquire; + /** * Returns whether the list is empty. * @@ -277,6 +282,8 @@ public void load(File file) throws IOException { input = new FileReader(file); BufferedReader buff = new BufferedReader(input); + hasOnAcquire = false; + String line; List currentEntries = null; while ((line = buff.readLine()) != null) { @@ -347,6 +354,7 @@ public void load(File file) throws IOException { } else if (parts[0].equalsIgnoreCase("on-drop")) { entry.setDropActions(parts[1].split(",")); } else if (parts[0].equalsIgnoreCase("on-acquire")) { + hasOnAcquire = true; entry.setAcquireActions(parts[1].split(",")); } else if (parts[0].equalsIgnoreCase("message")) { entry.setMessage(parts[1].trim()); @@ -377,4 +385,13 @@ public void load(File file) throws IOException { } } } + + /** + * Blacklist contains on-acquire events. + * + * @return + */ + public boolean hasOnAcquire() { + return hasOnAcquire; + } } diff --git a/src/WorldGuardListener.java b/src/WorldGuardListener.java index 0a07e3b3..9dbae88c 100644 --- a/src/WorldGuardListener.java +++ b/src/WorldGuardListener.java @@ -367,8 +367,10 @@ public boolean onItemDrop(Player player, Item item) { * @return true if you want to leave the item where it was */ public boolean onItemPickUp(Player player, Item item) { - if (!blacklist.onSilentAcquire(item.getItemId(), player)) { - return true; + if (blacklist != null && blacklist.hasOnAcquire()) { + if (!blacklist.onSilentAcquire(item.getItemId(), player)) { + return true; + } } return false; @@ -382,7 +384,7 @@ public boolean onItemPickUp(Player player, Item item) { * @return true if you want any changes to be reverted */ public boolean onInventoryChange(Player player) { - if (blacklist != null) { + if (blacklist != null && blacklist.hasOnAcquire()) { hj[] items = player.getInventory().getArray(); boolean needUpdate = false;