diff --git a/common/mekanism/common/inventory/container/ContainerDigitalMiner.java b/common/mekanism/common/inventory/container/ContainerDigitalMiner.java index 53d1e6865..7da6ae99e 100644 --- a/common/mekanism/common/inventory/container/ContainerDigitalMiner.java +++ b/common/mekanism/common/inventory/container/ContainerDigitalMiner.java @@ -15,19 +15,19 @@ public class ContainerDigitalMiner extends Container { private TileEntityDigitalMiner tileEntity; - public ContainerDigitalMiner(InventoryPlayer inventory, TileEntityDigitalMiner tentity, IInventory inv, boolean b) + public ContainerDigitalMiner(InventoryPlayer inventory, TileEntityDigitalMiner tentity) { tileEntity = tentity; - for(int slotY = 0; slotY < 6; slotY++) + for(int slotY = 0; slotY < 3; slotY++) { for(int slotX = 0; slotX < 9; slotX++) { - addSlotToContainer(new SlotElectricChest(getInv(), slotX + slotY * 9, 8 + slotX * 18, 26 + slotY * 18)); + addSlotToContainer(new Slot(tentity, slotX + slotY * 9, 8 + slotX * 18, 26 + slotY * 18)); } } - addSlotToContainer(new SlotDischarge(getInv(), 54, 180, 11)); + addSlotToContainer(new SlotDischarge(tentity, 27, 180, 11)); int slotX; @@ -43,17 +43,9 @@ public class ContainerDigitalMiner extends Container { addSlotToContainer(new SlotElectricChest(inventory, slotX, 8 + slotX * 18, 206)); } - } - - public IInventory getInv() - { - if(isBlock) - { - return tileEntity; - } - else { - return itemInventory; - } + + tileEntity.openChest(); + tileEntity.playersUsing.add(inventory.player); } @Override @@ -61,25 +53,14 @@ public class ContainerDigitalMiner extends Container { super.onContainerClosed(entityplayer); - if(isBlock) - { - tileEntity.closeChest(); - tileEntity.playersUsing.remove(entityplayer); - } - else { - itemInventory.closeChest(); - } + tileEntity.closeChest(); + tileEntity.playersUsing.remove(entityplayer); } @Override public boolean canInteractWith(EntityPlayer entityplayer) { - if(isBlock) - { - return tileEntity.isUseableByPlayer(entityplayer); - } - - return true; + return tileEntity.isUseableByPlayer(entityplayer); } @Override diff --git a/common/mekanism/common/inventory/container/ContainerElectricPump.java b/common/mekanism/common/inventory/container/ContainerElectricPump.java index 6ee3423de..4ab9ff3eb 100644 --- a/common/mekanism/common/inventory/container/ContainerElectricPump.java +++ b/common/mekanism/common/inventory/container/ContainerElectricPump.java @@ -44,6 +44,7 @@ public class ContainerElectricPump extends Container public void onContainerClosed(EntityPlayer entityplayer) { super.onContainerClosed(entityplayer); + tileEntity.closeChest(); tileEntity.playersUsing.remove(entityplayer); } diff --git a/common/mekanism/common/tileentity/TileEntityDigitalMiner.java b/common/mekanism/common/tileentity/TileEntityDigitalMiner.java index d3247c411..8c5ba978e 100644 --- a/common/mekanism/common/tileentity/TileEntityDigitalMiner.java +++ b/common/mekanism/common/tileentity/TileEntityDigitalMiner.java @@ -48,6 +48,8 @@ public class TileEntityDigitalMiner extends TileEntityElectricBlock implements I public int clientToMine; + public ItemStack replaceStack; + /** This machine's current RedstoneControl type. */ public RedstoneControl controlType = RedstoneControl.DISABLED; @@ -91,6 +93,11 @@ public class TileEntityDigitalMiner extends TileEntityElectricBlock implements I doPull = nbtTags.getBoolean("doPull"); controlType = RedstoneControl.values()[nbtTags.getInteger("controlType")]; + if(nbtTags.hasKey("replaceStack")) + { + replaceStack = ItemStack.loadItemStackFromNBT(nbtTags.getCompoundTag("replaceStack")); + } + if(nbtTags.hasKey("filters")) { NBTTagList tagList = nbtTags.getTagList("filters"); @@ -124,6 +131,11 @@ public class TileEntityDigitalMiner extends TileEntityElectricBlock implements I nbtTags.setBoolean("doPull", doPull); nbtTags.setInteger("controlType", controlType.ordinal()); + if(replaceStack != null) + { + nbtTags.setCompoundTag("replaceStack", replaceStack.writeToNBT(new NBTTagCompound())); + } + NBTTagList filterTags = new NBTTagList(); for(MinerFilter filter : filters)