diff --git a/src/main/java/refinedstorage/container/ContainerConstructor.java b/src/main/java/refinedstorage/container/ContainerConstructor.java index 9107f92fd..8694124b0 100755 --- a/src/main/java/refinedstorage/container/ContainerConstructor.java +++ b/src/main/java/refinedstorage/container/ContainerConstructor.java @@ -6,6 +6,7 @@ import refinedstorage.RefinedStorageItems; import refinedstorage.container.slot.IItemValidator; import refinedstorage.container.slot.SlotFiltered; import refinedstorage.container.slot.SlotSpecimenItemBlock; +import refinedstorage.container.slot.SlotUpgrade; import refinedstorage.item.ItemUpgrade; import refinedstorage.tile.TileConstructor; @@ -17,12 +18,7 @@ public class ContainerConstructor extends ContainerBase { addSlotToContainer(new SlotSpecimenItemBlock(constructor.getInventory(), 0, 80, 20)); for (int i = 0; i < 4; ++i) { - addSlotToContainer(new SlotFiltered(constructor.getUpgradesInventory(), i, 187, 6 + (i * 18), new IItemValidator() { - @Override - public boolean isValid(ItemStack stack) { - return stack.getItem() == RefinedStorageItems.UPGRADE && (stack.getMetadata() == ItemUpgrade.TYPE_SPEED || stack.getMetadata() == ItemUpgrade.TYPE_CRAFTING); - } - })); + addSlotToContainer(new SlotFiltered(constructor.getUpgradesInventory(), i, 187, 6 + (i * 18), new SlotUpgrade(ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_CRAFTING))); } addPlayerInventory(8, 55); diff --git a/src/main/java/refinedstorage/container/ContainerCrafter.java b/src/main/java/refinedstorage/container/ContainerCrafter.java index e40808ed1..135e829e0 100755 --- a/src/main/java/refinedstorage/container/ContainerCrafter.java +++ b/src/main/java/refinedstorage/container/ContainerCrafter.java @@ -6,6 +6,7 @@ import net.minecraft.item.ItemStack; import refinedstorage.RefinedStorageItems; import refinedstorage.container.slot.IItemValidator; import refinedstorage.container.slot.SlotFiltered; +import refinedstorage.container.slot.SlotUpgrade; import refinedstorage.item.ItemPattern; import refinedstorage.item.ItemUpgrade; import refinedstorage.tile.autocrafting.TileCrafter; @@ -24,12 +25,7 @@ public class ContainerCrafter extends ContainerStorage { } for (int i = 0; i < 4; ++i) { - addSlotToContainer(new SlotFiltered(crafter, 6 + i, 187, 6 + (i * 18), new IItemValidator() { - @Override - public boolean isValid(ItemStack stack) { - return stack.getItem() == RefinedStorageItems.UPGRADE && stack.getMetadata() == ItemUpgrade.TYPE_SPEED; - } - })); + addSlotToContainer(new SlotFiltered(crafter, 6 + i, 187, 6 + (i * 18), new SlotUpgrade(ItemUpgrade.TYPE_SPEED))); } addPlayerInventory(8, 144); diff --git a/src/main/java/refinedstorage/container/ContainerDestructor.java b/src/main/java/refinedstorage/container/ContainerDestructor.java index 8f188d314..28db3380c 100755 --- a/src/main/java/refinedstorage/container/ContainerDestructor.java +++ b/src/main/java/refinedstorage/container/ContainerDestructor.java @@ -6,6 +6,7 @@ import refinedstorage.RefinedStorageItems; import refinedstorage.container.slot.IItemValidator; import refinedstorage.container.slot.SlotFiltered; import refinedstorage.container.slot.SlotSpecimenItemBlock; +import refinedstorage.container.slot.SlotUpgrade; import refinedstorage.item.ItemUpgrade; import refinedstorage.tile.TileDestructor; @@ -18,12 +19,7 @@ public class ContainerDestructor extends ContainerBase { } for (int i = 0; i < 4; ++i) { - addSlotToContainer(new SlotFiltered(destructor.getUpgradesInventory(), i, 187, 6 + (i * 18), new IItemValidator() { - @Override - public boolean isValid(ItemStack stack) { - return stack.getItem() == RefinedStorageItems.UPGRADE && stack.getMetadata() == ItemUpgrade.TYPE_SPEED; - } - })); + addSlotToContainer(new SlotFiltered(destructor.getUpgradesInventory(), i, 187, 6 + (i * 18), new SlotUpgrade(ItemUpgrade.TYPE_SPEED))); } addPlayerInventory(8, 55); diff --git a/src/main/java/refinedstorage/container/ContainerExporter.java b/src/main/java/refinedstorage/container/ContainerExporter.java index 5bb244247..151fe1cfb 100755 --- a/src/main/java/refinedstorage/container/ContainerExporter.java +++ b/src/main/java/refinedstorage/container/ContainerExporter.java @@ -6,6 +6,7 @@ import refinedstorage.RefinedStorageItems; import refinedstorage.container.slot.IItemValidator; import refinedstorage.container.slot.SlotFiltered; import refinedstorage.container.slot.SlotSpecimen; +import refinedstorage.container.slot.SlotUpgrade; import refinedstorage.item.ItemUpgrade; import refinedstorage.tile.TileExporter; @@ -18,12 +19,7 @@ public class ContainerExporter extends ContainerBase { } for (int i = 0; i < 4; ++i) { - addSlotToContainer(new SlotFiltered(exporter.getUpgradesInventory(), i, 187, 6 + (i * 18), new IItemValidator() { - @Override - public boolean isValid(ItemStack stack) { - return stack.getItem() == RefinedStorageItems.UPGRADE && (stack.getMetadata() == ItemUpgrade.TYPE_SPEED || stack.getMetadata() == ItemUpgrade.TYPE_CRAFTING); - } - })); + addSlotToContainer(new SlotFiltered(exporter.getUpgradesInventory(), i, 187, 6 + (i * 18), new SlotUpgrade(ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_CRAFTING))); } addPlayerInventory(8, 55); diff --git a/src/main/java/refinedstorage/container/ContainerImporter.java b/src/main/java/refinedstorage/container/ContainerImporter.java index 243d29dff..4ec7cd809 100755 --- a/src/main/java/refinedstorage/container/ContainerImporter.java +++ b/src/main/java/refinedstorage/container/ContainerImporter.java @@ -6,6 +6,7 @@ import refinedstorage.RefinedStorageItems; import refinedstorage.container.slot.IItemValidator; import refinedstorage.container.slot.SlotFiltered; import refinedstorage.container.slot.SlotSpecimen; +import refinedstorage.container.slot.SlotUpgrade; import refinedstorage.item.ItemUpgrade; import refinedstorage.tile.TileImporter; @@ -18,12 +19,7 @@ public class ContainerImporter extends ContainerBase { } for (int i = 0; i < 4; ++i) { - addSlotToContainer(new SlotFiltered(importer.getUpgradesInventory(), i, 187, 6 + (i * 18), new IItemValidator() { - @Override - public boolean isValid(ItemStack stack) { - return stack.getItem() == RefinedStorageItems.UPGRADE && stack.getMetadata() == ItemUpgrade.TYPE_SPEED; - } - })); + addSlotToContainer(new SlotFiltered(importer.getUpgradesInventory(), i, 187, 6 + (i * 18), new SlotUpgrade(ItemUpgrade.TYPE_SPEED))); } addPlayerInventory(8, 55); diff --git a/src/main/java/refinedstorage/container/ContainerInterface.java b/src/main/java/refinedstorage/container/ContainerInterface.java index 0db2922fd..91674cf41 100755 --- a/src/main/java/refinedstorage/container/ContainerInterface.java +++ b/src/main/java/refinedstorage/container/ContainerInterface.java @@ -4,10 +4,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; import refinedstorage.RefinedStorageItems; -import refinedstorage.container.slot.IItemValidator; -import refinedstorage.container.slot.SlotFiltered; -import refinedstorage.container.slot.SlotOutput; -import refinedstorage.container.slot.SlotSpecimen; +import refinedstorage.container.slot.*; import refinedstorage.item.ItemPattern; import refinedstorage.item.ItemUpgrade; import refinedstorage.tile.TileInterface; @@ -29,12 +26,7 @@ public class ContainerInterface extends ContainerBase { } for (int i = 0; i < 4; ++i) { - addSlotToContainer(new SlotFiltered(tile.getUpgradesInventory(), i, 187, 6 + (i * 18), new IItemValidator() { - @Override - public boolean isValid(ItemStack stack) { - return stack.getItem() == RefinedStorageItems.UPGRADE && (stack.getMetadata() == ItemUpgrade.TYPE_SPEED || stack.getMetadata() == ItemUpgrade.TYPE_CRAFTING); - } - })); + addSlotToContainer(new SlotFiltered(tile.getUpgradesInventory(), i, 187, 6 + (i * 18), new SlotUpgrade(ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_CRAFTING))); } addPlayerInventory(8, 134); diff --git a/src/main/java/refinedstorage/container/ContainerSolderer.java b/src/main/java/refinedstorage/container/ContainerSolderer.java index 4bbec007e..6d3cceadc 100755 --- a/src/main/java/refinedstorage/container/ContainerSolderer.java +++ b/src/main/java/refinedstorage/container/ContainerSolderer.java @@ -2,11 +2,13 @@ package refinedstorage.container; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Slot; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import refinedstorage.RefinedStorageItems; import refinedstorage.container.slot.IItemValidator; import refinedstorage.container.slot.SlotFiltered; import refinedstorage.container.slot.SlotOutput; +import refinedstorage.container.slot.SlotUpgrade; import refinedstorage.item.ItemUpgrade; import refinedstorage.tile.TileSolderer; @@ -26,12 +28,7 @@ public class ContainerSolderer extends ContainerBase { addSlotToContainer(new SlotOutput(solderer, 3, 134, 38)); for (int i = 0; i < 4; ++i) { - addSlotToContainer(new SlotFiltered(solderer.getUpgradesInventory(), i, 187, 6 + (i * 18), new IItemValidator() { - @Override - public boolean isValid(ItemStack stack) { - return stack.getItem() == RefinedStorageItems.UPGRADE && stack.getMetadata() == ItemUpgrade.TYPE_SPEED; - } - })); + addSlotToContainer(new SlotFiltered(solderer.getUpgradesInventory(), i, 187, 6 + (i * 18), new SlotUpgrade(ItemUpgrade.TYPE_SPEED))); } addPlayerInventory(8, 95); diff --git a/src/main/java/refinedstorage/container/ContainerWirelessTransmitter.java b/src/main/java/refinedstorage/container/ContainerWirelessTransmitter.java index 870e3994e..d9b9c7644 100755 --- a/src/main/java/refinedstorage/container/ContainerWirelessTransmitter.java +++ b/src/main/java/refinedstorage/container/ContainerWirelessTransmitter.java @@ -6,6 +6,7 @@ import net.minecraft.item.ItemStack; import refinedstorage.RefinedStorageItems; import refinedstorage.container.slot.IItemValidator; import refinedstorage.container.slot.SlotFiltered; +import refinedstorage.container.slot.SlotUpgrade; import refinedstorage.item.ItemUpgrade; import refinedstorage.tile.TileWirelessTransmitter; @@ -14,12 +15,7 @@ public class ContainerWirelessTransmitter extends ContainerBase { super(player); for (int i = 0; i < 4; ++i) { - addSlotToContainer(new SlotFiltered(wirelessTransmitter, i, 187, 6 + (i * 18), new IItemValidator() { - @Override - public boolean isValid(ItemStack stack) { - return stack.getItem() == RefinedStorageItems.UPGRADE && stack.getMetadata() == ItemUpgrade.TYPE_RANGE; - } - })); + addSlotToContainer(new SlotFiltered(wirelessTransmitter, i, 187, 6 + (i * 18), new SlotUpgrade(ItemUpgrade.TYPE_RANGE))); } addPlayerInventory(8, 55); diff --git a/src/main/java/refinedstorage/container/slot/SlotUpgrade.java b/src/main/java/refinedstorage/container/slot/SlotUpgrade.java new file mode 100755 index 000000000..5b66cbc5e --- /dev/null +++ b/src/main/java/refinedstorage/container/slot/SlotUpgrade.java @@ -0,0 +1,19 @@ +package refinedstorage.container.slot; + +import net.minecraft.item.ItemStack; +import refinedstorage.RefinedStorageItems; + +import java.util.Arrays; + +public class SlotUpgrade implements IItemValidator { + private int[] allowedUpgrades; + + public SlotUpgrade(int... allowedUpgrades) { + this.allowedUpgrades = allowedUpgrades; + } + + @Override + public boolean isValid(ItemStack stack) { + return stack.getItem() == RefinedStorageItems.UPGRADE && Arrays.asList(allowedUpgrades).contains(stack.getMetadata()); + } +}