From d95ccc6cc2b5402b05b3aeaa9c44560175eddb00 Mon Sep 17 00:00:00 2001 From: Gig Date: Mon, 8 Jun 2015 23:14:18 +0100 Subject: [PATCH] Added Isided to ChemicalReactor --- .../techreborn/tiles/TileChemicalReactor.java | 86 ++++++++++++++++++- 1 file changed, 85 insertions(+), 1 deletion(-) diff --git a/src/main/java/techreborn/tiles/TileChemicalReactor.java b/src/main/java/techreborn/tiles/TileChemicalReactor.java index d7c219648..9041fb407 100644 --- a/src/main/java/techreborn/tiles/TileChemicalReactor.java +++ b/src/main/java/techreborn/tiles/TileChemicalReactor.java @@ -4,15 +4,18 @@ import ic2.api.energy.prefab.BasicSink; import ic2.api.energy.tile.IEnergyTile; import ic2.api.tile.IWrenchable; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.IInventory; +import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraftforge.common.util.ForgeDirection; import techreborn.api.recipe.RecipeCrafter; import techreborn.init.ModBlocks; import techreborn.util.Inventory; import java.util.List; -public class TileChemicalReactor extends TileMachineBase implements IWrenchable, IEnergyTile { +public class TileChemicalReactor extends TileMachineBase implements IWrenchable, IEnergyTile , IInventory, ISidedInventory{ public int tickTime; public BasicSink energy; @@ -115,6 +118,87 @@ public class TileChemicalReactor extends TileMachineBase implements IWrenchable, super.onChunkUnload(); } + @Override + public int getSizeInventory() { + return inventory.getSizeInventory(); + } + + @Override + public ItemStack getStackInSlot(int slot) { + return inventory.getStackInSlot(slot); + } + + @Override + public ItemStack decrStackSize(int slot, int amount) { + return inventory.decrStackSize(slot, amount); + } + + @Override + public ItemStack getStackInSlotOnClosing(int slot) { + return inventory.getStackInSlotOnClosing(slot); + } + + @Override + public void setInventorySlotContents(int slot, ItemStack stack) { + inventory.setInventorySlotContents(slot, stack); + } + + @Override + public String getInventoryName() { + return inventory.getInventoryName(); + } + + @Override + public boolean hasCustomInventoryName() { + return inventory.hasCustomInventoryName(); + } + + @Override + public int getInventoryStackLimit() { + return inventory.getInventoryStackLimit(); + } + + @Override + public boolean isUseableByPlayer(EntityPlayer player) { + return inventory.isUseableByPlayer(player); + } + + @Override + public void openInventory() { + inventory.openInventory(); + } + + @Override + public void closeInventory() { + inventory.closeInventory(); + } + + @Override + public boolean isItemValidForSlot(int slot, ItemStack stack) { + return inventory.isItemValidForSlot(slot, stack); + } + + // ISidedInventory + @Override + public int[] getAccessibleSlotsFromSide(int side) + { + return side == ForgeDirection.DOWN.ordinal() ? new int[]{0, 1, 2} : new int[]{0, 1, 2}; + } + + @Override + public boolean canInsertItem(int slotIndex, ItemStack itemStack, int side) + { + if (slotIndex == 2) + return false; + return isItemValidForSlot(slotIndex, itemStack); + } + + @Override + public boolean canExtractItem(int slotIndex, ItemStack itemStack, int side) + { + return slotIndex == 2; + } + // @Override // public void addWailaInfo(List info) // {