From 2c5e6ca041bda1c36fa4755c9748710c7dbcfad2 Mon Sep 17 00:00:00 2001 From: mezz Date: Fri, 9 Jan 2015 00:21:55 -0800 Subject: [PATCH] Fix #4 Placing a bee into the jar gui causes a crash --- .../client/gui/ContainerEffectJar.java | 3 +- .../magicbees/client/gui/SlotCustomItems.java | 34 ++++++------------- 2 files changed, 11 insertions(+), 26 deletions(-) diff --git a/src/main/java/magicbees/client/gui/ContainerEffectJar.java b/src/main/java/magicbees/client/gui/ContainerEffectJar.java index b143f31..41b369d 100644 --- a/src/main/java/magicbees/client/gui/ContainerEffectJar.java +++ b/src/main/java/magicbees/client/gui/ContainerEffectJar.java @@ -20,8 +20,7 @@ public class ContainerEffectJar extends Container public ContainerEffectJar(TileEntityEffectJar tileEntityEffectJar, EntityPlayer player) { this.jar = tileEntityEffectJar; - this.addSlotToContainer(new SlotCustomItems(this.jar, 0, 80, 22, GameRegistry.findItemStack - ("forestry", "beeDroneGE", 1))); + this.addSlotToContainer(new SlotCustomItems(this.jar, 0, 80, 22, GameRegistry.findItemStack("Forestry", "beeDroneGE", 1))); for (int i = 0; i < 3; ++i) { diff --git a/src/main/java/magicbees/client/gui/SlotCustomItems.java b/src/main/java/magicbees/client/gui/SlotCustomItems.java index 06d52c9..99c2bfd 100644 --- a/src/main/java/magicbees/client/gui/SlotCustomItems.java +++ b/src/main/java/magicbees/client/gui/SlotCustomItems.java @@ -1,6 +1,7 @@ package magicbees.client.gui; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import net.minecraft.inventory.IInventory; @@ -14,21 +15,13 @@ import net.minecraftforge.oredict.OreDictionary; public class SlotCustomItems extends Slot { private List items; - - public SlotCustomItems(IInventory inventory, int slotIndex, int xPos, int yPos) - { - this(inventory, slotIndex, xPos, yPos, new ItemStack[0]); - } - + public SlotCustomItems(IInventory inventory, int slotIndex, int xPos, int yPos, ItemStack... items) { super(inventory, slotIndex, xPos, yPos); - this.items = new ArrayList(); - - for (ItemStack i : items) - { - this.items.add(i); - } + this.items = new ArrayList(items.length); + + Collections.addAll(this.items, items); } /** @@ -92,24 +85,17 @@ public class SlotCustomItems extends Slot @Override public boolean isItemValid(ItemStack itemStack) { - boolean flag = false; - for (int i = 0; i < this.items.size(); ++i) + for (ItemStack item : this.items) { - if (this.items.get(i).getItem() == itemStack.getItem()) + if (item != null && item.getItem() == itemStack.getItem()) { - if (this.items.get(i).getItemDamage() == itemStack.getItemDamage()) + if (item.getItemDamage() == itemStack.getItemDamage() || item.getItemDamage() == OreDictionary.WILDCARD_VALUE) { - flag = true; - break; - } - else - { - flag = this.items.get(i).getItemDamage() == OreDictionary.WILDCARD_VALUE; - break; + return true; } } } - return flag; + return false; } }