Fixes NPE on clicking outside inventory.

Closes #52
This commit is contained in:
t3hk0d3 2012-08-22 23:37:32 +04:00
parent afba9cdbcd
commit 712e4cea66
1 changed files with 8 additions and 10 deletions

View File

@ -180,11 +180,9 @@ public class PlayerListener extends ModifyworldListener {
public void onPlayerInventoryClick(InventoryClickEvent event) { public void onPlayerInventoryClick(InventoryClickEvent event) {
InventoryHolder holder = event.getInventory().getHolder(); InventoryHolder holder = event.getInventory().getHolder();
if (holder instanceof Player) { // do not track inter-inventory stuff if (holder instanceof Player || // do not track inter-inventory stuff
return; event.getRawSlot() >= event.getView().getTopInventory().getSize() || // top inventory only
} event.getSlotType() != InventoryType.SlotType.OUTSIDE) { // do not track drop
if (event.getRawSlot() >= event.getView().getTopInventory().getSize()) { // top inventory only
return; return;
} }
@ -193,18 +191,18 @@ public class PlayerListener extends ModifyworldListener {
String action; String action;
String op; String op;
ItemStack item; ItemStack item;
if(take == null) { if (take == null) {
action = "put"; action = "put";
item = event.getCursor(); item = event.getCursor();
} else { } else {
action = "take"; action = "take";
item = take; item = take;
} }
Player player = (Player) event.getWhoClicked(); Player player = (Player) event.getWhoClicked();
if(permissionDenied(player, "modifyworld.items", action, item, "of", holder)) { if (permissionDenied(player, "modifyworld.items", action, item, "of", holder)) {
event.setCancelled(true); event.setCancelled(true);
} }
} }