package mods.eln.node.transparent; import mods.eln.misc.FakeSideInventory; import mods.eln.node.Node; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; public class TransparentNodeEntityWithSiededInv extends TransparentNodeEntity implements ISidedInventory { // boolean[] syncronizedSideEnable = new boolean[6]; ISidedInventory getSidedInventory() { if (worldObj.isRemote) { if (elementRender == null) return FakeSideInventory.getInstance(); IInventory i = elementRender.getInventory(); if (i != null && i instanceof ISidedInventory) { return (ISidedInventory) i; } } else { Node node = getNode(); if (node != null && node instanceof TransparentNode) { TransparentNode tn = (TransparentNode) node; IInventory i = tn.getInventory(null); ; if (i != null && i instanceof ISidedInventory) { return (ISidedInventory) i; } } } return FakeSideInventory.getInstance(); } @Override public int getSizeInventory() { return getSidedInventory().getSizeInventory(); } @Override public ItemStack getStackInSlot(int var1) { return getSidedInventory().getStackInSlot(var1); } @Override public ItemStack decrStackSize(int var1, int var2) { return getSidedInventory().decrStackSize(var1, var2); } @Override public ItemStack getStackInSlotOnClosing(int var1) { return getSidedInventory().getStackInSlotOnClosing(var1); } @Override public void setInventorySlotContents(int var1, ItemStack var2) { getSidedInventory().setInventorySlotContents(var1, var2); } @Override public String getInventoryName() { return getSidedInventory().getInventoryName(); } @Override public boolean hasCustomInventoryName() { return getSidedInventory().hasCustomInventoryName(); } @Override public int getInventoryStackLimit() { return getSidedInventory().getInventoryStackLimit(); } @Override public boolean isUseableByPlayer(EntityPlayer var1) { return getSidedInventory().isUseableByPlayer(var1); } @Override public void openInventory() { getSidedInventory().openInventory(); } @Override public void closeInventory() { getSidedInventory().closeInventory(); } @Override public boolean isItemValidForSlot(int var1, ItemStack var2) { return getSidedInventory().isItemValidForSlot(var1, var2); } @Override public int[] getAccessibleSlotsFromSide(int var1) { return getSidedInventory().getAccessibleSlotsFromSide(var1); } @Override public boolean canInsertItem(int var1, ItemStack var2, int var3) { return getSidedInventory().canInsertItem(var1, var2, var3); } @Override public boolean canExtractItem(int var1, ItemStack var2, int var3) { return getSidedInventory().canExtractItem(var1, var2, var3); } } // &&