Barrel implements InventoryHolder

This commit is contained in:
Sn0wStorm
2015-01-10 00:15:13 +01:00
parent aff7857c43
commit bc56fc8770
2 changed files with 20 additions and 19 deletions
+11 -5
View File
@@ -11,6 +11,7 @@ import org.bukkit.entity.Player;
import org.bukkit.block.Block; import org.bukkit.block.Block;
import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryHolder;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.PotionMeta; import org.bukkit.inventory.meta.PotionMeta;
import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.ConfigurationSection;
@@ -26,7 +27,7 @@ import com.dre.brewery.integration.LogBlockBarrel;
import org.apache.commons.lang.ArrayUtils; import org.apache.commons.lang.ArrayUtils;
public class Barrel { public class Barrel implements InventoryHolder {
public static CopyOnWriteArrayList<Barrel> barrels = new CopyOnWriteArrayList<Barrel>(); public static CopyOnWriteArrayList<Barrel> barrels = new CopyOnWriteArrayList<Barrel>();
private static int check = 0; private static int check = 0;
@@ -49,9 +50,9 @@ public class Barrel {
this.spigot = spigot; this.spigot = spigot;
this.signoffset = sign; this.signoffset = sign;
if (isLarge()) { 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 { } 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) { if (items != null) {
for (String slot : items.keySet()) { for (String slot : items.keySet()) {
@@ -220,9 +221,9 @@ public class Barrel {
public void open(Player player) { public void open(Player player) {
if (inventory == null) { if (inventory == null) {
if (isLarge()) { 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 { } 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 { } else {
if (time > 0) { if (time > 0) {
@@ -262,6 +263,11 @@ public class Barrel {
player.openInventory(inventory); player.openInventory(inventory);
} }
@Override
public Inventory getInventory() {
return inventory;
}
// Returns true if this Block is part of this Barrel // Returns true if this Block is part of this Barrel
public boolean hasBlock(Block block) { public boolean hasBlock(Block block) {
if (block != null) { if (block != null) {
@@ -13,6 +13,7 @@ import org.bukkit.inventory.meta.PotionMeta;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.Material; import org.bukkit.Material;
import com.dre.brewery.Barrel;
import com.dre.brewery.Brew; import com.dre.brewery.Brew;
import com.dre.brewery.P; import com.dre.brewery.P;
import com.dre.brewery.integration.LogBlockBarrel; import com.dre.brewery.integration.LogBlockBarrel;
@@ -60,11 +61,7 @@ public class InventoryListener implements Listener {
if (event.getSlot() > 2) { if (event.getSlot() > 2) {
return; return;
} }
} else if (event.getInventory().getType() == InventoryType.CHEST) { } else if (!(event.getInventory().getHolder() instanceof Barrel)) {
if (!event.getInventory().getTitle().equals(P.p.languageReader.get("Etc_Barrel"))) {
return;
}
} else {
return; return;
} }
@@ -96,8 +93,7 @@ public class InventoryListener implements Listener {
@EventHandler @EventHandler
public void onInventoryClose(InventoryCloseEvent event) { public void onInventoryClose(InventoryCloseEvent event) {
if (P.p.useLB) { if (P.p.useLB) {
if (event.getInventory().getType() == InventoryType.CHEST) { if (event.getInventory().getHolder() instanceof Barrel) {
if (event.getInventory().getTitle().equals(P.p.languageReader.get("Etc_Barrel"))) {
try { try {
LogBlockBarrel.closeBarrel(event.getPlayer(), event.getInventory()); LogBlockBarrel.closeBarrel(event.getPlayer(), event.getInventory());
} catch (Exception e) { } catch (Exception e) {
@@ -108,5 +104,4 @@ public class InventoryListener implements Listener {
} }
} }
} }
}
} }