diff --git a/resources/assemblyline/textures/gui_ejector.png b/resources/assemblyline/textures/gui_ejector.png deleted file mode 100644 index b9b396faa..000000000 Binary files a/resources/assemblyline/textures/gui_ejector.png and /dev/null differ diff --git a/resources/assemblyline/textures/gui_stamper.png b/resources/assemblyline/textures/gui_imprinter.png similarity index 70% rename from resources/assemblyline/textures/gui_stamper.png rename to resources/assemblyline/textures/gui_imprinter.png index 93640b36b..426f954f3 100644 Binary files a/resources/assemblyline/textures/gui_stamper.png and b/resources/assemblyline/textures/gui_imprinter.png differ diff --git a/src/minecraft/assemblyline/client/gui/GuiEncoder.java b/src/minecraft/assemblyline/client/gui/GuiEncoder.java index ec597e6db..1421766c5 100644 --- a/src/minecraft/assemblyline/client/gui/GuiEncoder.java +++ b/src/minecraft/assemblyline/client/gui/GuiEncoder.java @@ -52,7 +52,7 @@ public class GuiEncoder extends GuiContainer implements IInventoryWatcher public GuiEncoder(InventoryPlayer playerInventory, TileEntityEncoder tileEntity) { super(new ContainerEncoder(playerInventory, tileEntity)); - this.ySize = 256; + this.ySize = 237; this.tileEntity = tileEntity; tileEntity.setWatcher(this); } @@ -89,7 +89,6 @@ public class GuiEncoder extends GuiContainer implements IInventoryWatcher protected void actionPerformed(GuiButton button) { // TODO: Add insert command to allow commands to be inserted between two existing commands. - switch (button.id) { case 0: // add diff --git a/src/minecraft/assemblyline/client/gui/GuiImprinter.java b/src/minecraft/assemblyline/client/gui/GuiImprinter.java index 32333af8e..19a9fde2b 100644 --- a/src/minecraft/assemblyline/client/gui/GuiImprinter.java +++ b/src/minecraft/assemblyline/client/gui/GuiImprinter.java @@ -18,6 +18,7 @@ public class GuiImprinter extends GuiContainer public GuiImprinter(InventoryPlayer par1InventoryPlayer, TileEntityImprinter tileEntity) { super(new ContainerImprinter(par1InventoryPlayer, tileEntity)); + this.ySize = 184; } /** @@ -27,7 +28,7 @@ public class GuiImprinter extends GuiContainer protected void drawGuiContainerForegroundLayer(int par1, int par2) { this.fontRenderer.drawString(TranslationHelper.getLocal("tile.imprinter.name"), 68, 6, 4210752); - this.fontRenderer.drawString(TranslationHelper.getLocal("assemblyline.gui.crafting") + ":", 25, 55, 4210752); + this.fontRenderer.drawString(TranslationHelper.getLocal("assemblyline.gui.crafting") + ":", 20, 54, 4210752); } /** @@ -36,11 +37,11 @@ public class GuiImprinter extends GuiContainer @Override protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) { - int var4 = this.mc.renderEngine.getTexture(AssemblyLine.TEXTURE_PATH + "gui_stamper.png"); + int var4 = this.mc.renderEngine.getTexture(AssemblyLine.TEXTURE_PATH + "gui_imprinter.png"); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); this.mc.renderEngine.bindTexture(var4); - containerWidth = (this.width - this.xSize) / 2; - containerHeight = (this.height - this.ySize) / 2; + this.containerWidth = (this.width - this.xSize) / 2; + this.containerHeight = (this.height - this.ySize) / 2; this.drawTexturedModalRect(containerWidth, containerHeight, 0, 0, this.xSize, this.ySize); } } diff --git a/src/minecraft/assemblyline/common/machine/BlockManipulator.java b/src/minecraft/assemblyline/common/machine/BlockManipulator.java index b565ea3ae..122fb285f 100644 --- a/src/minecraft/assemblyline/common/machine/BlockManipulator.java +++ b/src/minecraft/assemblyline/common/machine/BlockManipulator.java @@ -1,8 +1,11 @@ package assemblyline.common.machine; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; import universalelectricity.core.UniversalElectricity; import assemblyline.client.render.BlockRenderingHandler; @@ -101,4 +104,10 @@ public class BlockManipulator extends BlockImprintable { return false; } + + @Override + public int damageDropped(int par1) + { + return 0; + } } diff --git a/src/minecraft/assemblyline/common/machine/TileEntityManipulator.java b/src/minecraft/assemblyline/common/machine/TileEntityManipulator.java index a564ee75d..8b55942a7 100644 --- a/src/minecraft/assemblyline/common/machine/TileEntityManipulator.java +++ b/src/minecraft/assemblyline/common/machine/TileEntityManipulator.java @@ -13,12 +13,13 @@ import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.ISidedInventory; import universalelectricity.core.vector.Vector3; import universalelectricity.prefab.implement.IRedstoneReceptor; +import universalelectricity.prefab.implement.IRotatable; import universalelectricity.prefab.network.PacketManager; import assemblyline.api.IManipulator; import assemblyline.common.machine.imprinter.TileEntityFilterable; import cpw.mods.fml.common.network.PacketDispatcher; -public class TileEntityManipulator extends TileEntityFilterable implements IRedstoneReceptor, IManipulator +public class TileEntityManipulator extends TileEntityFilterable implements IRotatable, IRedstoneReceptor, IManipulator { public boolean selfPulse = false; @@ -100,7 +101,7 @@ public class TileEntityManipulator extends TileEntityFilterable implements IReds outputDown.modifyPositionFromSide(ForgeDirection.DOWN); Vector3 outputPosition = new Vector3(this); - outputPosition.modifyPositionFromSide(this.getBeltDirection().getOpposite()); + outputPosition.modifyPositionFromSide(this.getDirection().getOpposite()); AxisAlignedBB bounds = AxisAlignedBB.getBoundingBox(inputPosition.x, inputPosition.y, inputPosition.z, inputPosition.x + 1, inputPosition.y + 1, inputPosition.z + 1); List itemsInBound = this.worldObj.getEntitiesWithinAABB(EntityItem.class, bounds); @@ -126,7 +127,7 @@ public class TileEntityManipulator extends TileEntityFilterable implements IReds if (remainingStack != null) { - remainingStack = this.tryPlaceInPosition(remainingStack, outputPosition, this.getBeltDirection().getOpposite()); + remainingStack = this.tryPlaceInPosition(remainingStack, outputPosition, this.getDirection().getOpposite()); } if (remainingStack != null && remainingStack.stackSize > 0) @@ -154,10 +155,10 @@ public class TileEntityManipulator extends TileEntityFilterable implements IReds inputDown.modifyPositionFromSide(ForgeDirection.DOWN); Vector3 inputPosition = new Vector3(this); - inputPosition.modifyPositionFromSide(this.getBeltDirection().getOpposite()); + inputPosition.modifyPositionFromSide(this.getDirection().getOpposite()); Vector3 outputPosition = new Vector3(this); - outputPosition.modifyPositionFromSide(this.getBeltDirection()); + outputPosition.modifyPositionFromSide(this.getDirection()); ItemStack itemStack = this.tryGrabFromPosition(inputUp, ForgeDirection.DOWN); @@ -168,7 +169,7 @@ public class TileEntityManipulator extends TileEntityFilterable implements IReds if (itemStack == null) { - itemStack = this.tryGrabFromPosition(inputPosition, this.getBeltDirection().getOpposite()); + itemStack = this.tryGrabFromPosition(inputPosition, this.getDirection().getOpposite()); } if (itemStack != null) @@ -205,7 +206,7 @@ public class TileEntityManipulator extends TileEntityFilterable implements IReds entityItem.motionX = 0; entityItem.motionZ = 0; entityItem.motionY /= 5; - entityItem.delayBeforeCanPickup = 30; + entityItem.delayBeforeCanPickup = 20; worldObj.spawnEntityInWorld(entityItem); } @@ -423,11 +424,6 @@ public class TileEntityManipulator extends TileEntityFilterable implements IReds return null; } - public ForgeDirection getBeltDirection() - { - return ForgeDirection.getOrientation(this.worldObj.getBlockMetadata(this.xCoord, this.yCoord, this.zCoord)); - } - @Override public void readFromNBT(NBTTagCompound nbt) { diff --git a/src/minecraft/assemblyline/common/machine/encoder/ContainerEncoder.java b/src/minecraft/assemblyline/common/machine/encoder/ContainerEncoder.java index eb53aed48..22ca4458d 100644 --- a/src/minecraft/assemblyline/common/machine/encoder/ContainerEncoder.java +++ b/src/minecraft/assemblyline/common/machine/encoder/ContainerEncoder.java @@ -10,7 +10,7 @@ import assemblyline.common.machine.imprinter.SlotCustom; public class ContainerEncoder extends Container { - public static final int Y_OFFSET = 9; + public static final int Y_OFFSET = 0; private ItemStack[] containingItems = new ItemStack[1]; private InventoryPlayer inventoryPlayer; diff --git a/src/minecraft/assemblyline/common/machine/imprinter/ContainerImprinter.java b/src/minecraft/assemblyline/common/machine/imprinter/ContainerImprinter.java index 0077c3093..1d6bf6345 100644 --- a/src/minecraft/assemblyline/common/machine/imprinter/ContainerImprinter.java +++ b/src/minecraft/assemblyline/common/machine/imprinter/ContainerImprinter.java @@ -29,29 +29,36 @@ public class ContainerImprinter extends Container implements ISlotWatcher this.inventoryPlayer = inventoryPlayer; // Paper Input - this.addSlotToContainer(new SlotCustom(this.tileEntity, 0, 42, 24, new ItemStack(AssemblyLine.itemImprint))); + this.addSlotToContainer(new SlotCustom(this.tileEntity, 0, 33, 22, new ItemStack(AssemblyLine.itemImprint))); // Item Stamp - this.addSlotToContainer(new Slot(this.tileEntity, 1, 78, 24)); + this.addSlotToContainer(new Slot(this.tileEntity, 1, 69, 22)); // Output Filter - this.addSlotToContainer(new SlotImprintResult(this.tileEntity, 2, 136, 24)); + this.addSlotToContainer(new SlotImprintResult(this.tileEntity, 2, 127, 22)); // Crafting Slot - this.addSlotToContainer(new SlotCustom(this.tileEntity, 3, 78, 53, new ItemStack(AssemblyLine.itemImprint))); + this.addSlotToContainer(new SlotCustom(this.tileEntity, 3, 69, 51, new ItemStack(AssemblyLine.itemImprint))); // Crafting Output - this.addSlotToContainer(new SlotCraftingResult(this, this.tileEntity, 4, 136, 53)); + this.addSlotToContainer(new SlotCraftingResult(this, this.tileEntity, 4, 127, 51)); + // Imprinter Inventory + for (int i = 0; i < 9; i++) + { + this.addSlotToContainer(new WatchedSlot(this.tileEntity, i + TileEntityImprinter.START_INVENTORY, 8 + i * 18, 80, this)); + } + + // Player Inventory int var3; for (var3 = 0; var3 < 3; ++var3) { for (int var4 = 0; var4 < 9; ++var4) { - this.addSlotToContainer(new WatchedSlot(inventoryPlayer, var4 + var3 * 9 + 9, 8 + var4 * 18, 84 + var3 * 18, this)); + this.addSlotToContainer(new WatchedSlot(inventoryPlayer, var4 + var3 * 9 + 9, 8 + var4 * 18, 102 + var3 * 18, this)); } } for (var3 = 0; var3 < 9; ++var3) { - this.addSlotToContainer(new WatchedSlot(inventoryPlayer, var3, 8 + var3 * 18, 142, this)); + this.addSlotToContainer(new WatchedSlot(inventoryPlayer, var3, 8 + var3 * 18, 160, this)); } } @@ -81,19 +88,19 @@ public class ContainerImprinter extends Container implements ISlotWatcher this.tileEntity.setInventorySlotContents(0, null); } - if (slot > 4) + if (slot > this.tileEntity.getSizeInventory()) { if (this.getSlot(0).isItemValid(slotStack)) { if (!this.mergeItemStack(slotStack, 0, 1, false)) { return null; } } - else if (!this.mergeItemStack(slotStack, 1, 2, false)) { return null; } + else if (!this.mergeItemStack(slotStack, this.tileEntity.START_INVENTORY, this.tileEntity.getSizeInventory(), false)) { return null; } } - else if (!this.mergeItemStack(slotStack, this.tileEntity.getSizeInventory(), 37, false)) { return null; } + else if (!this.mergeItemStack(slotStack, this.tileEntity.getSizeInventory(), this.tileEntity.getSizeInventory() + 36, false)) { return null; } if (slotStack.stackSize == 0) { - slotObj.putStack((ItemStack) null); + slotObj.putStack(null); } else { diff --git a/src/minecraft/assemblyline/common/machine/imprinter/TileEntityImprinter.java b/src/minecraft/assemblyline/common/machine/imprinter/TileEntityImprinter.java index f21c246ad..30b6cc0de 100644 --- a/src/minecraft/assemblyline/common/machine/imprinter/TileEntityImprinter.java +++ b/src/minecraft/assemblyline/common/machine/imprinter/TileEntityImprinter.java @@ -22,12 +22,13 @@ import cpw.mods.fml.relauncher.ReflectionHelper; public class TileEntityImprinter extends TileEntityAdvanced implements ISidedInventory { + public static final int START_INVENTORY = 5; + public static final int INVENTORY_LENGTH = 9; + /** * Imprinter slots. 10 extra slots for storing imprints. */ - private ItemStack[] containingItems = new ItemStack[5 + 10]; - - public static final int START_INVENTORY = 5; + private ItemStack[] containingItems = new ItemStack[5 + INVENTORY_LENGTH]; @Override public boolean canUpdate() @@ -39,13 +40,14 @@ public class TileEntityImprinter extends TileEntityAdvanced implements ISidedInv public int getStartInventorySide(ForgeDirection side) { if (side == ForgeDirection.UP || side == ForgeDirection.DOWN) { return 3; } - return 4; + return START_INVENTORY; } @Override public int getSizeInventorySide(ForgeDirection side) { - return 1; + if (side == ForgeDirection.UP || side == ForgeDirection.DOWN) { return 1; } + return INVENTORY_LENGTH; } @Override diff --git a/src/minecraft/assemblyline/common/machine/imprinter/WatchedSlot.java b/src/minecraft/assemblyline/common/machine/imprinter/WatchedSlot.java index e12eb1fca..b98465d5a 100644 --- a/src/minecraft/assemblyline/common/machine/imprinter/WatchedSlot.java +++ b/src/minecraft/assemblyline/common/machine/imprinter/WatchedSlot.java @@ -5,7 +5,7 @@ import net.minecraft.inventory.Slot; public class WatchedSlot extends Slot { - ISlotWatcher slotWatcher; + private ISlotWatcher slotWatcher; public WatchedSlot(IInventory inventory, int id, int xPosition, int yPosition, ISlotWatcher slotWatcher) { @@ -16,9 +16,9 @@ public class WatchedSlot extends Slot @Override public void onSlotChanged() { - if (slotWatcher != null) + if (this.slotWatcher != null) { - slotWatcher.slotContentsChanged(); + this.slotWatcher.slotContentsChanged(); } }