diff --git a/src/main/java/refinedstorage/inventory/ProxyItemHandler.java b/src/main/java/refinedstorage/inventory/ProxyItemHandler.java new file mode 100755 index 000000000..2c0863630 --- /dev/null +++ b/src/main/java/refinedstorage/inventory/ProxyItemHandler.java @@ -0,0 +1,50 @@ +package refinedstorage.inventory; + +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraftforge.common.util.INBTSerializable; +import net.minecraftforge.items.IItemHandler; +import net.minecraftforge.items.IItemHandlerModifiable; + +public class ProxyItemHandler implements IItemHandler, IItemHandlerModifiable, INBTSerializable { + private BasicItemHandler proxy; + + public ProxyItemHandler(BasicItemHandler proxy) { + this.proxy = proxy; + } + + @Override + public NBTTagCompound serializeNBT() { + return proxy.serializeNBT(); + } + + @Override + public void deserializeNBT(NBTTagCompound nbt) { + proxy.deserializeNBT(nbt); + } + + @Override + public void setStackInSlot(int slot, ItemStack stack) { + proxy.setStackInSlot(slot, stack); + } + + @Override + public int getSlots() { + return proxy.getSlots(); + } + + @Override + public ItemStack getStackInSlot(int slot) { + return proxy.getStackInSlot(slot); + } + + @Override + public ItemStack insertItem(int slot, ItemStack stack, boolean simulate) { + return proxy.insertItem(slot, stack, simulate); + } + + @Override + public ItemStack extractItem(int slot, int amount, boolean simulate) { + return proxy.extractItem(slot, amount, simulate); + } +} diff --git a/src/main/java/refinedstorage/inventory/SoldererItemHandler.java b/src/main/java/refinedstorage/inventory/SoldererItemHandler.java index e273e18aa..929719ce6 100755 --- a/src/main/java/refinedstorage/inventory/SoldererItemHandler.java +++ b/src/main/java/refinedstorage/inventory/SoldererItemHandler.java @@ -3,11 +3,11 @@ package refinedstorage.inventory; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumFacing; -public class SoldererItemHandler extends BasicItemHandler { +public class SoldererItemHandler extends ProxyItemHandler { private EnumFacing side; - public SoldererItemHandler(BasicItemHandler parent, EnumFacing side) { - super(parent.getSlots(), parent.getTile(), parent.getValidators()); + public SoldererItemHandler(BasicItemHandler soldererHandler, EnumFacing side) { + super(soldererHandler); this.side = side; } @@ -16,7 +16,7 @@ public class SoldererItemHandler extends BasicItemHandler { public ItemStack insertItem(int slot, ItemStack stack, boolean simulate) { if (((side == EnumFacing.NORTH || side == EnumFacing.EAST) && slot == 0) || ((side == EnumFacing.SOUTH || side == EnumFacing.WEST) && slot == 2) || - (side == EnumFacing.UP && slot == 1)) { + ((side == EnumFacing.UP && slot == 1))) { return super.insertItem(slot, stack, simulate); }