From bc56fc8770c922427531a30dcf1105f93a6f55ac Mon Sep 17 00:00:00 2001 From: Sn0wStorm Date: Sat, 10 Jan 2015 00:15:13 +0100 Subject: [PATCH] Barrel implements InventoryHolder --- src/com/dre/brewery/Barrel.java | 16 +++++++++---- .../brewery/listeners/InventoryListener.java | 23 ++++++++----------- 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/src/com/dre/brewery/Barrel.java b/src/com/dre/brewery/Barrel.java index db159a1..a44e51c 100644 --- a/src/com/dre/brewery/Barrel.java +++ b/src/com/dre/brewery/Barrel.java @@ -11,6 +11,7 @@ import org.bukkit.entity.Player; import org.bukkit.block.Block; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.inventory.Inventory; +import org.bukkit.inventory.InventoryHolder; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.PotionMeta; import org.bukkit.configuration.ConfigurationSection; @@ -26,7 +27,7 @@ import com.dre.brewery.integration.LogBlockBarrel; import org.apache.commons.lang.ArrayUtils; -public class Barrel { +public class Barrel implements InventoryHolder { public static CopyOnWriteArrayList barrels = new CopyOnWriteArrayList(); private static int check = 0; @@ -49,9 +50,9 @@ public class Barrel { this.spigot = spigot; this.signoffset = sign; if (isLarge()) { - this.inventory = org.bukkit.Bukkit.createInventory(null, 27, P.p.languageReader.get("Etc_Barrel")); + this.inventory = org.bukkit.Bukkit.createInventory(this, 27, P.p.languageReader.get("Etc_Barrel")); } else { - this.inventory = org.bukkit.Bukkit.createInventory(null, 9, P.p.languageReader.get("Etc_Barrel")); + this.inventory = org.bukkit.Bukkit.createInventory(this, 9, P.p.languageReader.get("Etc_Barrel")); } if (items != null) { for (String slot : items.keySet()) { @@ -220,9 +221,9 @@ public class Barrel { public void open(Player player) { if (inventory == null) { if (isLarge()) { - inventory = org.bukkit.Bukkit.createInventory(null, 27, P.p.languageReader.get("Etc_Barrel")); + inventory = org.bukkit.Bukkit.createInventory(this, 27, P.p.languageReader.get("Etc_Barrel")); } else { - inventory = org.bukkit.Bukkit.createInventory(null, 9, P.p.languageReader.get("Etc_Barrel")); + inventory = org.bukkit.Bukkit.createInventory(this, 9, P.p.languageReader.get("Etc_Barrel")); } } else { if (time > 0) { @@ -262,6 +263,11 @@ public class Barrel { player.openInventory(inventory); } + @Override + public Inventory getInventory() { + return inventory; + } + // Returns true if this Block is part of this Barrel public boolean hasBlock(Block block) { if (block != null) { diff --git a/src/com/dre/brewery/listeners/InventoryListener.java b/src/com/dre/brewery/listeners/InventoryListener.java index c98f318..dea31a0 100644 --- a/src/com/dre/brewery/listeners/InventoryListener.java +++ b/src/com/dre/brewery/listeners/InventoryListener.java @@ -13,6 +13,7 @@ import org.bukkit.inventory.meta.PotionMeta; import org.bukkit.inventory.ItemStack; import org.bukkit.Material; +import com.dre.brewery.Barrel; import com.dre.brewery.Brew; import com.dre.brewery.P; import com.dre.brewery.integration.LogBlockBarrel; @@ -60,11 +61,7 @@ public class InventoryListener implements Listener { if (event.getSlot() > 2) { return; } - } else if (event.getInventory().getType() == InventoryType.CHEST) { - if (!event.getInventory().getTitle().equals(P.p.languageReader.get("Etc_Barrel"))) { - return; - } - } else { + } else if (!(event.getInventory().getHolder() instanceof Barrel)) { return; } @@ -96,15 +93,13 @@ public class InventoryListener implements Listener { @EventHandler public void onInventoryClose(InventoryCloseEvent event) { if (P.p.useLB) { - if (event.getInventory().getType() == InventoryType.CHEST) { - if (event.getInventory().getTitle().equals(P.p.languageReader.get("Etc_Barrel"))) { - try { - LogBlockBarrel.closeBarrel(event.getPlayer(), event.getInventory()); - } catch (Exception e) { - P.p.errorLog("Failed to Log Barrel to LogBlock!"); - P.p.errorLog("Brewery was tested with version 1.80 of LogBlock!"); - e.printStackTrace(); - } + if (event.getInventory().getHolder() instanceof Barrel) { + try { + LogBlockBarrel.closeBarrel(event.getPlayer(), event.getInventory()); + } catch (Exception e) { + P.p.errorLog("Failed to Log Barrel to LogBlock!"); + P.p.errorLog("Brewery was tested with version 1.80 of LogBlock!"); + e.printStackTrace(); } } }