From 788b3253128c2b4b272c655140a591afb5e6c9b1 Mon Sep 17 00:00:00 2001 From: Brian Ricketts Date: Sun, 30 Dec 2012 00:24:38 -0600 Subject: [PATCH] Potential fix for tubes not obeying filters --- .../assemblyline/client/render/RenderCrate.java | 5 ++++- .../assemblyline/common/block/BlockCrate.java | 10 ++++++++-- .../assemblyline/common/block/TileEntityCrate.java | 9 +++++++++ 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/minecraft/assemblyline/client/render/RenderCrate.java b/src/minecraft/assemblyline/client/render/RenderCrate.java index a665b514..d2ba5f2f 100644 --- a/src/minecraft/assemblyline/client/render/RenderCrate.java +++ b/src/minecraft/assemblyline/client/render/RenderCrate.java @@ -41,7 +41,10 @@ public class RenderCrate extends RenderImprintable { if (tileEntity.getFilter() != null) { - itemStack = ItemImprinter.getFilters(tileEntity.getFilter()).get(0).splitStack(0); // see if it has a filter instead + if (ItemImprinter.getFilters(tileEntity.getFilter()).size() > 0) + { + itemStack = ItemImprinter.getFilters(tileEntity.getFilter()).get(0).splitStack(0); // see if it has a filter instead + } } } diff --git a/src/minecraft/assemblyline/common/block/BlockCrate.java b/src/minecraft/assemblyline/common/block/BlockCrate.java index 8381f129..963ce3a0 100644 --- a/src/minecraft/assemblyline/common/block/BlockCrate.java +++ b/src/minecraft/assemblyline/common/block/BlockCrate.java @@ -205,7 +205,10 @@ public class BlockCrate extends BlockMachine boolean filterValid = true; if (tileEntity.getFilter() != null) { - filterValid = itemStack.isItemEqual(ItemImprinter.getFilters(tileEntity.getFilter()).get(0)); + if (ItemImprinter.getFilters(tileEntity.getFilter()).size() > 0) + { + filterValid = itemStack.isItemEqual(ItemImprinter.getFilters(tileEntity.getFilter()).get(0)); + } } if (containingStack.isStackable() && containingStack.isItemEqual(itemStack) && filterValid) { @@ -230,7 +233,10 @@ public class BlockCrate extends BlockMachine boolean filterValid = true; if (tileEntity.getFilter() != null) { - filterValid = itemStack.isItemEqual(ItemImprinter.getFilters(tileEntity.getFilter()).get(0)); + if (ItemImprinter.getFilters(tileEntity.getFilter()).size() > 0) + { + filterValid = itemStack.isItemEqual(ItemImprinter.getFilters(tileEntity.getFilter()).get(0)); + } } if (filterValid) { diff --git a/src/minecraft/assemblyline/common/block/TileEntityCrate.java b/src/minecraft/assemblyline/common/block/TileEntityCrate.java index df9fa198..480a2ab8 100644 --- a/src/minecraft/assemblyline/common/block/TileEntityCrate.java +++ b/src/minecraft/assemblyline/common/block/TileEntityCrate.java @@ -8,6 +8,7 @@ import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.ISidedInventory; import universalelectricity.prefab.network.IPacketReceiver; import universalelectricity.prefab.network.PacketManager; +import assemblyline.common.machine.imprinter.ItemImprinter; import assemblyline.common.machine.imprinter.TileEntityImprintable; public class TileEntityCrate extends TileEntityImprintable implements ISidedInventory, IPacketReceiver @@ -122,6 +123,14 @@ public class TileEntityCrate extends TileEntityImprintable implements ISidedInve { if (stack != null) { + boolean filterValid = true; + if (getFilter() != null) + { + if (ItemImprinter.getFilters(getFilter()).size() > 0) + { + filterValid = stack.isItemEqual(ItemImprinter.getFilters(getFilter()).get(0)); + } + } if (stack.isStackable()) { this.containingItems[slot] = stack;