Fix item handler for solderer

This commit is contained in:
Raoul Van den Berge
2016-05-22 18:07:43 +02:00
parent 9ddf0ae639
commit 24c83a0805
2 changed files with 54 additions and 4 deletions

View File

@@ -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<NBTTagCompound> {
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);
}
}

View File

@@ -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);
}