diff options
| author | Draknyte1 <Draknyte1@hotmail.com> | 2016-07-04 15:21:58 +1000 |
|---|---|---|
| committer | Draknyte1 <Draknyte1@hotmail.com> | 2016-07-04 15:21:58 +1000 |
| commit | b1c319fa2d6fbf34d0db684f4fc3d7dc51b43a54 (patch) | |
| tree | b1061e2d9c569424d508ffcd26d33c13a565fa9a | |
| parent | 7b5dbdc81b2f8f393dafc3268efe5eb5cd084c39 (diff) | |
| download | GT5-Unofficial-b1c319fa2d6fbf34d0db684f4fc3d7dc51b43a54.tar.gz GT5-Unofficial-b1c319fa2d6fbf34d0db684f4fc3d7dc51b43a54.tar.bz2 GT5-Unofficial-b1c319fa2d6fbf34d0db684f4fc3d7dc51b43a54.zip | |
+ Added in base and Abstract classes to begin usage of RainsinToastCore.
+ Started work on a new GUI handler based off others, featuring dynamic ID ranges. (Internal code changes)
- Removed a very old GUI handler class, left the current one until the new one is done.
28 files changed, 1515 insertions, 63 deletions
diff --git a/src/Java/miscutil/core/gui/ModGUI.java b/src/Java/miscutil/core/gui/ModGUI.java deleted file mode 100644 index 82f6ebf3bf..0000000000 --- a/src/Java/miscutil/core/gui/ModGUI.java +++ /dev/null @@ -1,53 +0,0 @@ -package miscutil.core.gui; - -import miscutil.MiscUtils; -import miscutil.core.block.machine.heliumgen.container.ContainerHeliumGenerator; -import miscutil.core.block.machine.heliumgen.gui.GUIHeliumGenerator; -import miscutil.core.block.machine.heliumgen.tileentity.TileEntityHeliumGenerator; -import miscutil.core.handler.GuiHandler; -import miscutil.core.util.Utils; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.world.World; -import cpw.mods.fml.common.network.IGuiHandler; -import cpw.mods.fml.common.network.NetworkRegistry; - -public class ModGUI { - - - public static void init(){ - - Utils.LOG_INFO("Registering GUIs."); - NetworkRegistry.INSTANCE.registerGuiHandler(MiscUtils.instance, new GuiHandler()); - //Register GuiHandler - //NetworkRegistry.INSTANCE.registerGuiHandler(MiscUtils.instance, new GuiHandler()); - } -} - -class GUI_HANDLER implements IGuiHandler { - - @Override - public Object getClientGuiElement (int ID, EntityPlayer player, World world, int x, int y, int z){ - if(ID == 0) - return false; - else if(ID == 1) - return false; - else if(ID == 2) - return new GUIHeliumGenerator(player.inventory, (TileEntityHeliumGenerator)world.getTileEntity(x, y, z)); - else if(ID == 3) - return false; - return null; - } - - @Override - public Object getServerGuiElement (int ID, EntityPlayer player, World world, int x, int y, int z){ - if(ID == 0) - return false; - else if(ID == 1) - return false; - else if(ID == 2) - return new ContainerHeliumGenerator(player.inventory, (TileEntityHeliumGenerator)world.getTileEntity(x, y, z)); - else if(ID == 3) - return false; - return null; - } -} diff --git a/src/Java/miscutil/core/gui/beta/Gui_ID_Registry.java b/src/Java/miscutil/core/gui/beta/Gui_ID_Registry.java new file mode 100644 index 0000000000..11c97e8f9a --- /dev/null +++ b/src/Java/miscutil/core/gui/beta/Gui_ID_Registry.java @@ -0,0 +1,56 @@ +package miscutil.core.gui.beta; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import miscutil.core.interfaces.IGuiManagerMiscUtils; + +public class Gui_ID_Registry +{ + private static final Map<Class<? extends IGuiManagerMiscUtils>, MU_GuiId> classMap = new HashMap(); + private static final Map<Integer, MU_GuiId> idMap = new HashMap(); + private static int nextId = 0; + + static + { + //registerGuiHandlers(Gui_Types.Tile, Arrays.asList(new Class[] {TileAlveary.class})); + //registerGuiHandlers(MU_GuiType.Item, Arrays.asList(new Class[] { ItemBackpack.class, ItemBackpackNaturalist.class, ItemBeealyzer.class, ItemCatalogue.class, ItemFlutterlyzer.class, ItemHabitatLocator.class, ItemImprinter.class, ItemInfuser.class, ItemLetter.class, ItemSolderingIron.class, ItemTreealyzer.class })); + //registerGuiHandlers(MU_GuiType.Entity, Arrays.asList(new Class[] { EntityMinecartApiary.class, EntityMinecartBeehouse.class })); + } + + private static void registerGuiHandlers(Gui_Types MU_GuiType, List<Class<? extends IGuiManagerMiscUtils>> guiHandlerClasses) + { + for (Class<? extends IGuiManagerMiscUtils> tileGuiHandlerClass : guiHandlerClasses) + { + MU_GuiId guiId = new MU_GuiId(nextId++, MU_GuiType, tileGuiHandlerClass); + classMap.put(tileGuiHandlerClass, guiId); + idMap.put(Integer.valueOf(guiId.getId()), guiId); + } + } + + public static MU_GuiId getGuiIdForGuiHandler(IGuiManagerMiscUtils guiHandler) + { + Class<? extends IGuiManagerMiscUtils> guiHandlerClass = guiHandler.getClass(); + MU_GuiId guiId = (MU_GuiId)classMap.get(guiHandlerClass); + if (guiId == null) { + for (Map.Entry<Class<? extends IGuiManagerMiscUtils>, MU_GuiId> classGuiIdEntry : classMap.entrySet()) { + if (((Class)classGuiIdEntry.getKey()).isAssignableFrom(guiHandlerClass)) + { + guiId = (MU_GuiId)classGuiIdEntry.getValue(); + break; + } + } + } + if (guiId == null) { + throw new IllegalStateException("No gui ID for gui handler: " + guiHandler); + } + return guiId; + } + + public static MU_GuiId getGuiId(int id) + { + return (MU_GuiId)idMap.get(Integer.valueOf(id)); + } + +} diff --git a/src/Java/miscutil/core/gui/beta/Gui_Types.java b/src/Java/miscutil/core/gui/beta/Gui_Types.java new file mode 100644 index 0000000000..79e5a21dbd --- /dev/null +++ b/src/Java/miscutil/core/gui/beta/Gui_Types.java @@ -0,0 +1,8 @@ +package miscutil.core.gui.beta; + +public enum Gui_Types + { + Item, Tile, Entity; + + private Gui_Types() {} + }
\ No newline at end of file diff --git a/src/Java/miscutil/core/gui/beta/MU_GuiId.java b/src/Java/miscutil/core/gui/beta/MU_GuiId.java new file mode 100644 index 0000000000..2c97e62039 --- /dev/null +++ b/src/Java/miscutil/core/gui/beta/MU_GuiId.java @@ -0,0 +1,32 @@ +package miscutil.core.gui.beta; +import miscutil.core.interfaces.IGuiManagerMiscUtils; + +public class MU_GuiId + { + private final int id; + private final Gui_Types MU_GuiType; + private final Class<? extends IGuiManagerMiscUtils> guiHandlerClass; + + MU_GuiId(int id, Gui_Types MU_GuiType, Class<? extends IGuiManagerMiscUtils> guiHandlerClass) + { + this.id = id; + this.MU_GuiType = MU_GuiType; + this.guiHandlerClass = guiHandlerClass; + } + + public Gui_Types getGuiType() + { + return this.MU_GuiType; + } + + public Class<? extends IGuiManagerMiscUtils> getGuiHandlerClass() + { + return this.guiHandlerClass; + } + + public int getId() + { + return this.id; + } + } + diff --git a/src/Java/miscutil/core/handler/GuiHandler.java b/src/Java/miscutil/core/handler/GuiHandler.java index d604f1b147..92cb2a2812 100644 --- a/src/Java/miscutil/core/handler/GuiHandler.java +++ b/src/Java/miscutil/core/handler/GuiHandler.java @@ -1,14 +1,19 @@ package miscutil.core.handler; +import miscutil.MiscUtils; import miscutil.core.container.Container_Charger; import miscutil.core.container.Container_NHG; +import miscutil.core.gui.beta.Gui_ID_Registry; +import miscutil.core.gui.beta.MU_GuiId; import miscutil.core.gui.machine.GUI_Charger; import miscutil.core.gui.machine.GUI_NHG; +import miscutil.core.interfaces.IGuiManager; import miscutil.core.tileentities.machines.TileEntityCharger; import miscutil.core.tileentities.machines.TileEntityNHG; import miscutil.core.util.Utils; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ChunkCoordinates; import net.minecraft.world.World; import cpw.mods.fml.common.network.IGuiHandler; @@ -17,8 +22,6 @@ public class GuiHandler implements IGuiHandler { private static final int GUI1 = 0; //Nuclear Helium Gen. private static final int GUI2 = 1; //Energy Charger - - @Override //ContainerModTileEntity public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { TileEntity te = world.getTileEntity(x, y, z); @@ -42,16 +45,48 @@ public class GuiHandler implements IGuiHandler { Utils.LOG_WARNING("getClientGuiElement Called by: "+player+", in world: "+player.dimension+" at x:"+x+", y:"+y+", z:"+z+"."); TileEntity te = world.getTileEntity(x, y, z); if (te != null){ - if (ID == GUI1){ - Utils.LOG_WARNING("Opening Gui with Id: "+ID+" NHG"); - return new GUI_NHG((TileEntityNHG) te, player); - } - else if (ID == GUI2){ - Utils.LOG_WARNING("Opening Gui with Id: "+ID+" Charger"); - return new GUI_Charger((TileEntityCharger) te, player); - } + if (ID == GUI1){ + Utils.LOG_WARNING("Opening Gui with Id: "+ID+" NHG"); + return new GUI_NHG((TileEntityNHG) te, player); + } + else if (ID == GUI2){ + Utils.LOG_WARNING("Opening Gui with Id: "+ID+" Charger"); + return new GUI_Charger((TileEntityCharger) te, player); + } } return null; } + + + + //New Methods + public static void openGui(EntityPlayer entityplayer, IGuiManager guiHandler) + { + openGui(entityplayer, guiHandler, (short)0); + } + + public static void openGui(EntityPlayer entityplayer, IGuiManager guiHandler, short data) + { + int guiData = encodeGuiData(guiHandler, data); + ChunkCoordinates coordinates = guiHandler.getCoordinates(); + entityplayer.openGui(MiscUtils.instance, guiData, entityplayer.worldObj, coordinates.posX, coordinates.posY, coordinates.posZ); + } + + private static int encodeGuiData(IGuiManager guiHandler, short data) + { + MU_GuiId guiId = Gui_ID_Registry.getGuiIdForGuiHandler(guiHandler); + return data << 16 | guiId.getId(); + } + + private static MU_GuiId decodeGuiID(int guiData) + { + int guiId = guiData & 0xFF; + return Gui_ID_Registry.getGuiId(guiId); + } + + private static short decodeGuiData(int guiId) + { + return (short)(guiId >> 16); + } }
\ No newline at end of file diff --git a/src/Java/miscutil/core/interfaces/IGuiManager.java b/src/Java/miscutil/core/interfaces/IGuiManager.java new file mode 100644 index 0000000000..bca5b90ecf --- /dev/null +++ b/src/Java/miscutil/core/interfaces/IGuiManager.java @@ -0,0 +1,16 @@ +package miscutil.core.interfaces; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.ChunkCoordinates; +import net.minecraft.world.World; + +public abstract interface IGuiManager extends IGuiManagerMiscUtils{ + + public abstract ChunkCoordinates getCoordinates(); + + public abstract World getWorld(); + + public abstract Object getGui(EntityPlayer paramEntityPlayer, int paramInt); + + public abstract Object getContainer(EntityPlayer paramEntityPlayer, int paramInt); +} diff --git a/src/Java/miscutil/core/interfaces/IGuiManagerMiscUtils.java b/src/Java/miscutil/core/interfaces/IGuiManagerMiscUtils.java new file mode 100644 index 0000000000..1a5ab4a3a6 --- /dev/null +++ b/src/Java/miscutil/core/interfaces/IGuiManagerMiscUtils.java @@ -0,0 +1,3 @@ +package miscutil.core.interfaces; + +public abstract interface IGuiManagerMiscUtils {}
\ No newline at end of file diff --git a/src/Java/miscutil/core/multiblock/abstracts/AbstractFakeMultiblockController.java b/src/Java/miscutil/core/multiblock/abstracts/AbstractFakeMultiblockController.java new file mode 100644 index 0000000000..1fc74a37a7 --- /dev/null +++ b/src/Java/miscutil/core/multiblock/abstracts/AbstractFakeMultiblockController.java @@ -0,0 +1,68 @@ +package miscutil.core.multiblock.abstracts; + +import miscutil.core.multiblock.abstracts.interfaces.IAbstractControllerInternal; +import miscutil.core.multiblock.base.BaseFakeMultiblockController; +import miscutil.core.multiblock.base.interfaces.IBaseMultiblockController; +import net.minecraft.util.ChunkCoordinates; +import net.minecraft.world.biome.BiomeGenBase; + +import com.mojang.authlib.GameProfile; + +public class AbstractFakeMultiblockController +extends BaseFakeMultiblockController +implements IAbstractControllerInternal +{ + public static final AbstractFakeMultiblockController instance = new AbstractFakeMultiblockController(); + + + public int getBlockLightValue() + { + return 0; + } + + public boolean canBlockSeeTheSky() + { + return false; + } + + public GameProfile getOwner() + { + return null; + } + + public ChunkCoordinates getCoordinates() + { + return null; + } + + public BiomeGenBase getBiome() + { + return null; + } + + @Override + public void assimilate( + IBaseMultiblockController paramIMultiblockControllerInternal) { + } + + @Override + public void _onAssimilated( + IBaseMultiblockController paramIMultiblockControllerInternal) { + } + + @Override + public void onAssimilated( + IBaseMultiblockController paramIMultiblockControllerInternal) { + } + + @Override + public boolean shouldConsume( + IBaseMultiblockController paramIMultiblockControllerInternal) { + return false; + } + + @Override + public int getHealthScaled(int paramInt) { + return 0; + } +} diff --git a/src/Java/miscutil/core/multiblock/abstracts/AbstractMultiblockController.java b/src/Java/miscutil/core/multiblock/abstracts/AbstractMultiblockController.java new file mode 100644 index 0000000000..2ebcea7ce8 --- /dev/null +++ b/src/Java/miscutil/core/multiblock/abstracts/AbstractMultiblockController.java @@ -0,0 +1,213 @@ +package miscutil.core.multiblock.abstracts; + +import java.util.Collection; + +import miscutil.core.multiblock.abstracts.interfaces.IAbstractControllerInternal; +import miscutil.core.multiblock.base.interfaces.IBaseMultiblockController; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; +import raisintoast.core.common.CoordTriplet; +import raisintoast.core.multiblock.IMultiblockPart; +import raisintoast.core.multiblock.MultiblockControllerBase; +import raisintoast.core.multiblock.rectangular.RectangularMultiblockControllerBase; + + +public class AbstractMultiblockController extends RectangularMultiblockControllerBase implements IAbstractControllerInternal { + + protected AbstractMultiblockController(World world) { + super(world); + // TODO Auto-generated constructor stub + } + + @Override + public void decodeDescriptionPacket(NBTTagCompound arg0) { + // TODO Auto-generated method stub + + } + + @Override + public void formatDescriptionPacket(NBTTagCompound arg0) { + // TODO Auto-generated method stub + + } + + @Override + protected int getMaximumXSize() { + // TODO Auto-generated method stub + return 0; + } + + @Override + protected int getMaximumYSize() { + // TODO Auto-generated method stub + return 0; + } + + @Override + protected int getMaximumZSize() { + // TODO Auto-generated method stub + return 0; + } + + @Override + protected int getMinimumNumberOfBlocksForAssembledMachine() { + // TODO Auto-generated method stub + return 0; + } + + @Override + protected void onAssimilate(MultiblockControllerBase arg0) { + // TODO Auto-generated method stub + + } + + @Override + protected void onAssimilated(MultiblockControllerBase arg0) { + // TODO Auto-generated method stub + + } + + @Override + public void onAttachedPartWithMultiblockData(IMultiblockPart arg0, + NBTTagCompound arg1) { + // TODO Auto-generated method stub + + } + + @Override + protected void onBlockAdded(IMultiblockPart arg0) { + // TODO Auto-generated method stub + + } + + @Override + protected void onBlockRemoved(IMultiblockPart arg0) { + // TODO Auto-generated method stub + + } + + @Override + protected void onMachineAssembled() { + // TODO Auto-generated method stub + + } + + @Override + protected void onMachineDisassembled() { + // TODO Auto-generated method stub + + } + + @Override + protected void onMachinePaused() { + // TODO Auto-generated method stub + + } + + @Override + protected void onMachineRestored() { + // TODO Auto-generated method stub + + } + + @Override + public void readFromNBT(NBTTagCompound arg0) { + // TODO Auto-generated method stub + + } + + @Override + protected void updateClient() { + // TODO Auto-generated method stub + + } + + @Override + protected boolean updateServer() { + // TODO Auto-generated method stub + return false; + } + + @Override + public void writeToNBT(NBTTagCompound arg0) { + // TODO Auto-generated method stub + + } + + @Override + public void reassemble() { + // TODO Auto-generated method stub + + } + + @Override + public String getLastValidationError() { + // TODO Auto-generated method stub + return null; + } + + @Override + public Collection<IMultiblockPart> getComponents() { + // TODO Auto-generated method stub + return null; + } + + @Override + public void assimilate( + IBaseMultiblockController paramIMultiblockControllerInternal) { + // TODO Auto-generated method stub + + } + + @Override + public void _onAssimilated( + IBaseMultiblockController paramIMultiblockControllerInternal) { + // TODO Auto-generated method stub + + } + + @Override + public void onAssimilated( + IBaseMultiblockController paramIMultiblockControllerInternal) { + // TODO Auto-generated method stub + + } + + @Override + public CoordTriplet getReferenceCoord() { + // TODO Auto-generated method stub + return null; + } + + @Override + public World getWorld() { + // TODO Auto-generated method stub + return null; + } + + @Override + public boolean shouldConsume( + IBaseMultiblockController paramIMultiblockControllerInternal) { + // TODO Auto-generated method stub + return false; + } + + @Override + public String getPartsListString() { + // TODO Auto-generated method stub + return null; + } + + @Override + public void auditParts() { + // TODO Auto-generated method stub + + } + + @Override + public int getHealthScaled(int paramInt) { + // TODO Auto-generated method stub + return 0; + } + +} diff --git a/src/Java/miscutil/core/multiblock/abstracts/AbstractMultiblockLogic.java b/src/Java/miscutil/core/multiblock/abstracts/AbstractMultiblockLogic.java new file mode 100644 index 0000000000..c2c92e83d2 --- /dev/null +++ b/src/Java/miscutil/core/multiblock/abstracts/AbstractMultiblockLogic.java @@ -0,0 +1,31 @@ +package miscutil.core.multiblock.abstracts; + +import miscutil.core.multiblock.abstracts.interfaces.IAbstractControllerInternal; +import miscutil.core.multiblock.abstracts.interfaces.IAbstractMultiblockLogic; +import miscutil.core.multiblock.base.BaseMultiblockLogic; +import net.minecraft.world.World; + +public class AbstractMultiblockLogic extends BaseMultiblockLogic<IAbstractControllerInternal> implements IAbstractMultiblockLogic +{ + public AbstractMultiblockLogic() + { + super(IAbstractControllerInternal.class); + } + + @Override +public IAbstractControllerInternal getController() + { + if (super.isConnected()) { + return (IAbstractControllerInternal)this.controller; + } + return AbstractFakeMultiblockController.instance; + } + + @Override +public IAbstractControllerInternal createNewController(World world) + { + return new AbstractMultiblockController(world); + } + + +} diff --git a/src/Java/miscutil/core/multiblock/abstracts/AbstractMultiblockSizeLimits.java b/src/Java/miscutil/core/multiblock/abstracts/AbstractMultiblockSizeLimits.java new file mode 100644 index 0000000000..e7675bb31e --- /dev/null +++ b/src/Java/miscutil/core/multiblock/abstracts/AbstractMultiblockSizeLimits.java @@ -0,0 +1,69 @@ +package miscutil.core.multiblock.abstracts; + +import miscutil.core.multiblock.base.interfaces.IBaseMultiblockSizeLimits; + +public class AbstractMultiblockSizeLimits implements IBaseMultiblockSizeLimits { + + public static final AbstractMultiblockSizeLimits instance = new AbstractMultiblockSizeLimits(3,3,3,3,3,3,27); + + private short min_X; + private short min_Y; + private short min_Z; + private short max_X; + private short max_Y; + private short max_Z; + private short totalBlocks; + + public AbstractMultiblockSizeLimits(int min_x, int min_y, int min_z, int max_x, int max_y, int max_z, int totalSize){ + this.min_X = (short) min_x; + this.min_Y = (short) min_y; + this.min_Z = (short) min_z; + this.max_X = (short) max_x; + this.max_Y = (short) max_y; + this.max_Z = (short) max_z; + this.totalBlocks = (short) totalSize; + } + + + @Override + public int getMinNumberOfBlocksForAssembledMachine() + { + return totalBlocks; + } + + @Override + public int getMaxXSize() + { + return max_X; + } + + @Override + public int getMaxZSize() + { + return max_Y; + } + + @Override + public int getMaxYSize() + { + return max_Z; + } + + @Override + public int getMinXSize() + { + return min_X; + } + + @Override + public int getMinYSize() + { + return min_Y; + } + + @Override + public int getMinZSize() + { + return min_Z; + } +} diff --git a/src/Java/miscutil/core/multiblock/abstracts/AbstractMultiblockTE.java b/src/Java/miscutil/core/multiblock/abstracts/AbstractMultiblockTE.java new file mode 100644 index 0000000000..ada934f2b1 --- /dev/null +++ b/src/Java/miscutil/core/multiblock/abstracts/AbstractMultiblockTE.java @@ -0,0 +1,194 @@ +package miscutil.core.multiblock.abstracts; + + +import miscutil.core.handler.GuiHandler; +import miscutil.core.multiblock.abstracts.interfaces.IAbstractMultiblockLogic; +import miscutil.core.multiblock.base.BaseMultiblockTE; +import miscutil.core.xmod.forestry.core.inventory.FakeInventoryAdapter; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTUtil; +import net.minecraft.world.World; + +import com.mojang.authlib.GameProfile; + +public abstract class AbstractMultiblockTE<T extends IAbstractMultiblockLogic> +extends BaseMultiblockTE<T> implements ISidedInventory { + + private GameProfile owner; + + public AbstractMultiblockTE(T multiblockLogic) + { + super(multiblockLogic); + } + + public void openGui(EntityPlayer player) + { + GuiHandler.openGui(player, this); + } + + @Override + public void readFromNBT(NBTTagCompound data) + { + super.readFromNBT(data); + if (data.hasKey("owner")) { + this.owner = NBTUtil.func_152459_a(data.getCompoundTag("owner")); + } + getInternalInventory().readFromNBT(data); + } + + @Override + public void writeToNBT(NBTTagCompound data) + { + super.writeToNBT(data); + if (this.owner != null) + { + NBTTagCompound nbt = new NBTTagCompound(); + NBTUtil.func_152460_a(nbt, this.owner); + data.setTag("owner", nbt); + } + getInternalInventory().writeToNBT(data); + } + + public FakeInventoryAdapter getInternalInventory() + { + return FakeInventoryAdapter.instance(); + } + + public boolean allowsAutomation() + { + return false; + } + + @Override + public final int getSizeInventory() + { + return getInternalInventory().getSizeInventory(); + } + + @Override + public final ItemStack getStackInSlot(int slotIndex) + { + return getInternalInventory().getStackInSlot(slotIndex); + } + + @Override + public final ItemStack decrStackSize(int slotIndex, int amount) + { + return getInternalInventory().decrStackSize(slotIndex, amount); + } + + @Override + public final ItemStack getStackInSlotOnClosing(int slotIndex) + { + return getInternalInventory().getStackInSlotOnClosing(slotIndex); + } + + @Override + public final void setInventorySlotContents(int slotIndex, ItemStack itemstack) + { + getInternalInventory().setInventorySlotContents(slotIndex, itemstack); + } + + @Override + public final int getInventoryStackLimit() + { + return getInternalInventory().getInventoryStackLimit(); + } + + @Override + public final void openInventory() + { + getInternalInventory().openInventory(); + } + + @Override + public final void closeInventory() + { + getInternalInventory().closeInventory(); + } + + @Override + public final String getInventoryName() + { + return getInternalInventory().getInventoryName(); + } + + @Override + public final boolean isUseableByPlayer(EntityPlayer player) + { + return getInternalInventory().isUseableByPlayer(player); + } + + @Override + public final boolean hasCustomInventoryName() + { + return getInternalInventory().hasCustomInventoryName(); + } + + @Override + public final boolean isItemValidForSlot(int slotIndex, ItemStack itemStack) + { + return getInternalInventory().isItemValidForSlot(slotIndex, itemStack); + } + + @Override + public final int[] getAccessibleSlotsFromSide(int side) + { + if (allowsAutomation()) { + return getAccessibleSlotsFromSide(side); + } + return FakeInventoryAdapter.SLOTS_NONE; + } + + @Override + public final boolean canInsertItem(int slotIndex, ItemStack itemStack, int side) + { + if (allowsAutomation()) { + return canInsertItem(slotIndex, itemStack, side); + } + return false; + } + + @Override + public final boolean canExtractItem(int slotIndex, ItemStack itemStack, int side) + { + if (allowsAutomation()) { + return getInternalInventory().canExtractItem(slotIndex, itemStack, side); + } + return false; + } + + @Override + public final boolean canSlotAccept(int slotIndex, ItemStack itemStack) + { + return getInternalInventory().canSlotAccept(slotIndex, itemStack); + } |
