diff --git a/src/main/java/refinedstorage/inventory/ItemHandlerBasic.java b/src/main/java/refinedstorage/inventory/ItemHandlerBasic.java index cb65b2210..641beaec1 100755 --- a/src/main/java/refinedstorage/inventory/ItemHandlerBasic.java +++ b/src/main/java/refinedstorage/inventory/ItemHandlerBasic.java @@ -43,4 +43,8 @@ public class ItemHandlerBasic extends ItemStackHandler { tile.markDirty(); } } + + public ItemStack extractItemInternal(int slot, int amount, boolean simulate) { + return super.extractItem(slot, amount, simulate); + } } diff --git a/src/main/java/refinedstorage/tile/TileInterface.java b/src/main/java/refinedstorage/tile/TileInterface.java index 4f15051b8..faedbbf74 100755 --- a/src/main/java/refinedstorage/tile/TileInterface.java +++ b/src/main/java/refinedstorage/tile/TileInterface.java @@ -20,9 +20,21 @@ public class TileInterface extends TileNode implements IComparable { private static final String NBT_COMPARE = "Compare"; - private ItemHandlerBasic importItems = new ItemHandlerBasic(9, this); + private ItemHandlerBasic importItems = new ItemHandlerBasic(9, this) { + @Override + public ItemStack extractItem(int slot, int amount, boolean simulate) { + return null; + } + }; + private ItemHandlerBasic exportSpecimenItems = new ItemHandlerBasic(9, this); - private ItemHandlerBasic exportItems = new ItemHandlerBasic(9, this); + private ItemHandlerBasic exportItems = new ItemHandlerBasic(9, this) { + @Override + public ItemStack insertItem(int slot, ItemStack stack, boolean simulate) { + return stack; + } + }; + private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, this, ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_STACK, ItemUpgrade.TYPE_CRAFTING); private int compare = IComparer.COMPARE_NBT | IComparer.COMPARE_DAMAGE; @@ -54,9 +66,10 @@ public class TileInterface extends TileNode implements IComparable { ItemStack remainder = network.insertItem(slot, size, false); if (remainder == null) { - importItems.extractItem(currentSlot, size, false); + importItems.extractItemInternal(currentSlot, size, false); } else { - importItems.extractItem(currentSlot, size - remainder.stackSize, false); + importItems.extractItemInternal(currentSlot, size - remainder.stackSize, false); + currentSlot++; } } @@ -165,11 +178,7 @@ public class TileInterface extends TileNode implements IComparable { @Override public T getCapability(Capability capability, EnumFacing facing) { if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) { - if (facing == EnumFacing.DOWN) { - return (T) exportItems; - } else { - return (T) importItems; - } + return facing == EnumFacing.DOWN ? (T) exportItems : (T) importItems; } return super.getCapability(capability, facing);