Skip to content

Commit

Permalink
Stop workbenches from being opened by tags
Browse files Browse the repository at this point in the history
This is a somewhat error prone system if you don't know what you're
doing. I'm not sure how to handle sub-tag exceptions after the
dInventory returns null... Or if that should even be done...
@mcmonkey4eva ?
  • Loading branch information
Morphan1 committed Oct 12, 2014
1 parent a1c187a commit 16ac997
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 9 deletions.
10 changes: 8 additions & 2 deletions src/main/java/net/aufdemrand/denizen/objects/dInventory.java
Expand Up @@ -194,8 +194,14 @@ else if (type.equals("player")) {
return dPlayer.valueOf(holder).getInventory();
}
else if (type.equals("workbench")) {
if (dPlayer.matches(holder))
return dPlayer.valueOf(holder).getWorkbench();
if (dPlayer.matches(holder)) {
dInventory workbench = dPlayer.valueOf(holder).getWorkbench();
if (workbench != null)
dB.echoError("Value of dInventory returning null (" + string + ")." +
" Specified player does not have an open workbench.");
else
return workbench;
}
}
else if (type.equals("enderchest")) {
if (dPlayer.matches(holder))
Expand Down
17 changes: 10 additions & 7 deletions src/main/java/net/aufdemrand/denizen/objects/dPlayer.java
Expand Up @@ -258,17 +258,20 @@ public dInventory getInventory() {

public CraftingInventory getBukkitWorkbench() {
if (isOnline()) {
if (getPlayerEntity().getOpenInventory().getType() != InventoryType.WORKBENCH
&& getPlayerEntity().getOpenInventory().getType() != InventoryType.CRAFTING)
getPlayerEntity().openWorkbench(null, true);
return (CraftingInventory) getPlayerEntity().getOpenInventory().getTopInventory();
if (getPlayerEntity().getOpenInventory().getType() == InventoryType.WORKBENCH
|| getPlayerEntity().getOpenInventory().getType() == InventoryType.CRAFTING)
return (CraftingInventory) getPlayerEntity().getOpenInventory().getTopInventory();
}
else return null;
return null;
}

public dInventory getWorkbench() {
if (isOnline()) return new dInventory(getBukkitWorkbench(), getPlayerEntity());
else return null;
if (isOnline()) {
CraftingInventory workbench = getBukkitWorkbench();
if (workbench != null)
return new dInventory(workbench, getPlayerEntity());
}
return null;
}

public Inventory getBukkitEnderChest() {
Expand Down

0 comments on commit 16ac997

Please sign in to comment.