From ea12d67f9c014b57328356cccce25a148c828ade Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Mon, 14 Jul 2014 23:56:41 +0300 Subject: [PATCH] Fixed items dropping while clicking chest inventory in crafting station/tinkers table, and display order for large chests, closes #698 --- .../tools/gui/CraftingStationGui.java | 162 +++++++++++++----- .../inventory/CraftingStationContainer.java | 42 +++-- 2 files changed, 146 insertions(+), 58 deletions(-) diff --git a/src/main/java/tconstruct/tools/gui/CraftingStationGui.java b/src/main/java/tconstruct/tools/gui/CraftingStationGui.java index 5bc5a4cd..4f1a0fc0 100644 --- a/src/main/java/tconstruct/tools/gui/CraftingStationGui.java +++ b/src/main/java/tconstruct/tools/gui/CraftingStationGui.java @@ -28,6 +28,17 @@ public class CraftingStationGui extends GuiContainer public String title, body = ""; CraftingStationLogic logic; + // Panel positions + + int craftingLeft = 0; + int craftingTop = 0; + + int descLeft = 0; + int descTop = 0; + + int chestLeft = 0; + int chestTop = 0; + public CraftingStationGui(InventoryPlayer inventory, CraftingStationLogic logic, World world, int x, int y, int z) { super(logic.getGuiContainer(inventory, world, x, y, z)); @@ -40,13 +51,54 @@ public class CraftingStationGui extends GuiContainer toolName = ""; } + @Override + public void initGui () + { + super.initGui(); + + this.xSize = 176; + this.ySize = 166; + + this.guiLeft = (this.width - this.xSize) / 2; + this.guiTop = (this.height - this.ySize) / 2; + + this.craftingLeft = this.guiLeft; + this.craftingTop = this.guiTop; + this.descTop = this.craftingTop; + + if (logic.tinkerTable) + { + this.xSize += 126; + this.descLeft = this.guiLeft + 176; + } + + if (logic.chest != null) + { + this.xSize += 122; + this.guiLeft -= 122; + this.chestLeft = this.guiLeft + 6; + this.chestTop = this.craftingTop; + this.craftingLeft = this.guiLeft + 122; + this.descLeft = this.guiLeft + 122 + 176; + if (logic.doubleChest != null) + this.ySize = 187; + } + } + @Override protected void drawGuiContainerForegroundLayer (int par1, int par2) { - this.fontRendererObj.drawString(StatCollector.translateToLocal(logic.tinkerTable ? "crafters.TinkerTable" : logic.getInvName()), 8, 6, 0x202020); - this.fontRendererObj.drawString(StatCollector.translateToLocal("container.inventory"), 8, this.ySize - 96 + 2, 0x202020); + int offsetX = 0; + if (logic.chest != null) - this.fontRendererObj.drawString(StatCollector.translateToLocal(logic.chest.get().getInventoryName()), -108, this.ySize - 160, 0x202020); + { + this.fontRendererObj.drawString(StatCollector.translateToLocal(logic.chest.get().getInventoryName()), 14, 6, 0x202020); + offsetX = 122; + } + + this.fontRendererObj.drawString(StatCollector.translateToLocal(logic.tinkerTable ? "crafters.TinkerTable" : logic.getInvName()), offsetX + 8, 6, 0x202020); + this.fontRendererObj.drawString(StatCollector.translateToLocal("container.inventory"), offsetX + 8, 72, 0x202020); + // this.fontRendererObj.drawString(toolName + "_", this.xSize / 2 - 18, // 8, 0xffffff); @@ -61,12 +113,18 @@ public class CraftingStationGui extends GuiContainer void drawToolStats () { + int offsetX = 239; + if (logic.chest != null) + { + offsetX += 122; + } + ItemStack stack = logic.getStackInSlot(0); if (stack.getItem() instanceof ToolCore) { ToolCore tool = (ToolCore) stack.getItem(); NBTTagCompound tags = stack.getTagCompound().getCompoundTag("InfiTool"); - this.drawCenteredString(fontRendererObj, "\u00A7n" + tool.getToolName(), xSize + 63, 8, 0xffffff); + this.drawCenteredString(fontRendererObj, "\u00A7n" + tool.getToolName(), offsetX, 8, 0xffffff); drawModularToolStats(stack, tool, tags); } @@ -74,7 +132,7 @@ public class CraftingStationGui extends GuiContainer { ArmorCore armor = (ArmorCore) stack.getItem(); NBTTagCompound tags = stack.getTagCompound().getCompoundTag("TinkerArmor"); - this.drawCenteredString(fontRendererObj, "\u00A7n" + armor.getClass().getSimpleName(), xSize + 63, 8, 0xffffff); + this.drawCenteredString(fontRendererObj, "\u00A7n" + armor.getClass().getSimpleName(), offsetX, 8, 0xffffff); drawModularArmorStats(stack, armor, tags); } @@ -82,12 +140,18 @@ public class CraftingStationGui extends GuiContainer void drawModularArmorStats (ItemStack stack, ArmorCore tool, NBTTagCompound tags) { + int offsetX = 178; + if (logic.chest != null) + { + offsetX += 122; + } + int modifiers = tags.getInteger("Modifiers"); int base = 24; int offset = 0; if (modifiers > 0) { - fontRendererObj.drawString(StatCollector.translateToLocal("gui.toolstation18") + tags.getInteger("Modifiers"), xSize + 8, base + offset * 10, 0xffffff); + fontRendererObj.drawString(StatCollector.translateToLocal("gui.toolstation18") + tags.getInteger("Modifiers"), offsetX + 8, base + offset * 10, 0xffffff); offset++; } boolean displayToolTips = true; @@ -99,7 +163,7 @@ public class CraftingStationGui extends GuiContainer if (tags.hasKey(tooltip)) { String tipName = tags.getString(tooltip); - fontRendererObj.drawString("- " + tipName, xSize + 8, base + (offset + tipNum) * 10, 0xffffff); + fontRendererObj.drawString("- " + tipName, offsetX + 8, base + (offset + tipNum) * 10, 0xffffff); } else displayToolTips = false; @@ -113,6 +177,12 @@ public class CraftingStationGui extends GuiContainer final int maxDur = tags.getInteger("TotalDurability"); int availableDurability = maxDur - durability; + int offsetX = 178; + if (logic.chest != null) + { + offsetX += 122; + } + // Durability int base = 24; int offset = 0; @@ -120,14 +190,14 @@ public class CraftingStationGui extends GuiContainer { if (maxDur >= 10000) { - fontRendererObj.drawString(StatCollector.translateToLocal("gui.toolstation1"), xSize + 8, base + offset * 11, 0xffffff); + fontRendererObj.drawString(StatCollector.translateToLocal("gui.toolstation1"), offsetX + 8, base + offset * 11, 0xffffff); offset++; - fontRendererObj.drawString("- " + availableDurability + "/" + maxDur, xSize + 8, base + offset * 10, 0xffffff); + fontRendererObj.drawString("- " + availableDurability + "/" + maxDur, offsetX + 8, base + offset * 10, 0xffffff); offset++; } else { - fontRendererObj.drawString(StatCollector.translateToLocal("gui.toolstation2") + availableDurability + "/" + maxDur, xSize + 8, base + offset * 10, 0xffffff); + fontRendererObj.drawString(StatCollector.translateToLocal("gui.toolstation2") + availableDurability + "/" + maxDur, offsetX + 8, base + offset * 10, 0xffffff); offset++; } } @@ -136,7 +206,7 @@ public class CraftingStationGui extends GuiContainer // Attack if (categories.contains("weapon")) { - int attack = (int) (tags.getInteger("Attack"))+1; + int attack = (int) (tags.getInteger("Attack")) + 1; float stoneboundDamage = (float) Math.log(durability / 72f + 1) * -2 * stonebound; attack += stoneboundDamage; attack *= tool.getDamageModifier(); @@ -145,9 +215,9 @@ public class CraftingStationGui extends GuiContainer String heart = attack == 2 ? StatCollector.translateToLocal("gui.partcrafter8") : StatCollector.translateToLocal("gui.partcrafter9"); if (attack % 2 == 0) - this.fontRendererObj.drawString(StatCollector.translateToLocal("gui.toolstation3") + attack / 2 + heart, xSize + 8, base + offset * 10, 0xffffff); + this.fontRendererObj.drawString(StatCollector.translateToLocal("gui.toolstation3") + attack / 2 + heart, offsetX + 8, base + offset * 10, 0xffffff); else - this.fontRendererObj.drawString(StatCollector.translateToLocal("gui.toolstation3") + attack / 2f + heart, xSize + 8, base + offset * 10, 0xffffff); + this.fontRendererObj.drawString(StatCollector.translateToLocal("gui.toolstation3") + attack / 2f + heart, offsetX + 8, base + offset * 10, 0xffffff); offset++; if (stoneboundDamage != 0) @@ -155,7 +225,7 @@ public class CraftingStationGui extends GuiContainer DecimalFormat df = new DecimalFormat("##.##"); heart = stoneboundDamage == 2 ? StatCollector.translateToLocal("gui.partcrafter8") : StatCollector.translateToLocal("gui.partcrafter9"); String bloss = stoneboundDamage > 0 ? StatCollector.translateToLocal("gui.toolstation4") : StatCollector.translateToLocal("gui.toolstation5"); - this.fontRendererObj.drawString(bloss + df.format(stoneboundDamage / 2f) + heart, xSize + 8, base + offset * 10, 0xffffff); + this.fontRendererObj.drawString(bloss + df.format(stoneboundDamage / 2f) + heart, offsetX + 8, base + offset * 10, 0xffffff); offset++; } offset++; @@ -168,9 +238,9 @@ public class CraftingStationGui extends GuiContainer int drawSpeed = tags.getInteger("DrawSpeed"); float flightSpeed = tags.getFloat("FlightSpeed"); float trueDraw = drawSpeed / 20f * flightSpeed; - this.fontRendererObj.drawString(StatCollector.translateToLocal("gui.toolstation6") + df.format(trueDraw) + "s", xSize + 8, base + offset * 10, 0xffffff); + this.fontRendererObj.drawString(StatCollector.translateToLocal("gui.toolstation6") + df.format(trueDraw) + "s", offsetX + 8, base + offset * 10, 0xffffff); offset++; - this.fontRendererObj.drawString(StatCollector.translateToLocal("gui.toolstation7") + df.format(flightSpeed) + "x", xSize + 8, base + offset * 10, 0xffffff); + this.fontRendererObj.drawString(StatCollector.translateToLocal("gui.toolstation7") + df.format(flightSpeed) + "x", offsetX + 8, base + offset * 10, 0xffffff); offset++; offset++; } @@ -184,26 +254,26 @@ public class CraftingStationGui extends GuiContainer float shatter = tags.getFloat("BreakChance"); float accuracy = tags.getFloat("Accuracy"); - this.fontRendererObj.drawString(StatCollector.translateToLocal("gui.toolstation10"), xSize + 8, base + offset * 10, 0xffffff); + this.fontRendererObj.drawString(StatCollector.translateToLocal("gui.toolstation10"), offsetX + 8, base + offset * 10, 0xffffff); offset++; String heart = attack == 2 ? StatCollector.translateToLocal("gui.partcrafter8") : StatCollector.translateToLocal("gui.partcrafter9"); if (attack % 2 == 0) - this.fontRendererObj.drawString("- " + attack / 2 + heart, xSize + 8, base + offset * 10, 0xffffff); + this.fontRendererObj.drawString("- " + attack / 2 + heart, offsetX + 8, base + offset * 10, 0xffffff); else - this.fontRendererObj.drawString("- " + attack / 2f + heart, xSize + 8, base + offset * 10, 0xffffff); + this.fontRendererObj.drawString("- " + attack / 2f + heart, offsetX + 8, base + offset * 10, 0xffffff); offset++; int minAttack = attack; int maxAttack = attack * 2; heart = StatCollector.translateToLocal("gui.partcrafter9"); - this.fontRendererObj.drawString(StatCollector.translateToLocal("gui.toolstation11"), xSize + 8, base + offset * 10, 0xffffff); + this.fontRendererObj.drawString(StatCollector.translateToLocal("gui.toolstation11"), offsetX + 8, base + offset * 10, 0xffffff); offset++; this.fontRendererObj.drawString(df.format(minAttack / 2f) + "-" + df.format(maxAttack / 2f) + heart, xSize + 8, base + offset * 10, 0xffffff); offset++; offset++; - this.fontRendererObj.drawString(StatCollector.translateToLocal("gui.toolstation8") + df.format(mass), xSize + 8, base + offset * 10, 0xffffff); + this.fontRendererObj.drawString(StatCollector.translateToLocal("gui.toolstation8") + df.format(mass), offsetX + 8, base + offset * 10, 0xffffff); offset++; - this.fontRendererObj.drawString(StatCollector.translateToLocal("gui.toolstation9") + df.format(accuracy - 4) + "%", xSize + 8, base + offset * 10, 0xffffff); + this.fontRendererObj.drawString(StatCollector.translateToLocal("gui.toolstation9") + df.format(accuracy - 4) + "%", offsetX + 8, base + offset * 10, 0xffffff); offset++; /* * this.fontRendererObj.drawString("Chance to break: " + @@ -224,20 +294,20 @@ public class CraftingStationGui extends GuiContainer float trueSpeed = mineSpeed + stoneboundSpeed; float trueSpeed2 = mineSpeed2 + stoneboundSpeed; - fontRendererObj.drawString(StatCollector.translateToLocal("gui.toolstation12"), xSize + 8, base + offset * 10, 0xffffff); + fontRendererObj.drawString(StatCollector.translateToLocal("gui.toolstation12"), offsetX + 8, base + offset * 10, 0xffffff); offset++; - fontRendererObj.drawString("- " + df.format(trueSpeed) + ", " + df.format(trueSpeed2), xSize + 8, base + offset * 10, 0xffffff); + fontRendererObj.drawString("- " + df.format(trueSpeed) + ", " + df.format(trueSpeed2), offsetX + 8, base + offset * 10, 0xffffff); offset++; if (stoneboundSpeed != 0) { String bloss = stoneboundSpeed > 0 ? StatCollector.translateToLocal("gui.toolstation4") : StatCollector.translateToLocal("gui.toolstation5"); - fontRendererObj.drawString(bloss + df.format(stoneboundSpeed), xSize + 8, base + offset * 10, 0xffffff); + fontRendererObj.drawString(bloss + df.format(stoneboundSpeed), offsetX + 8, base + offset * 10, 0xffffff); offset++; } offset++; - fontRendererObj.drawString(StatCollector.translateToLocal("gui.toolstation13"), xSize + 8, base + offset * 10, 0xffffff); + fontRendererObj.drawString(StatCollector.translateToLocal("gui.toolstation13"), offsetX + 8, base + offset * 10, 0xffffff); offset++; - fontRendererObj.drawString("- " + getHarvestLevelName(tags.getInteger("HarvestLevel")) + ", " + getHarvestLevelName(tags.getInteger("HarvestLevel2")), xSize + 8, base + offset * 10, + fontRendererObj.drawString("- " + getHarvestLevelName(tags.getInteger("HarvestLevel")) + ", " + getHarvestLevelName(tags.getInteger("HarvestLevel2")), offsetX + 8, base + offset * 10, 0xffffff); offset++; offset++; @@ -273,7 +343,7 @@ public class CraftingStationGui extends GuiContainer trueSpeed += stoneboundSpeed; if (trueSpeed < 0) trueSpeed = 0; - fontRendererObj.drawString(StatCollector.translateToLocal("gui.toolstation14") + df.format(trueSpeed), xSize + 8, base + offset * 10, 0xffffff); + fontRendererObj.drawString(StatCollector.translateToLocal("gui.toolstation14") + df.format(trueSpeed), offsetX + 8, base + offset * 10, 0xffffff); offset++; if (stoneboundSpeed != 0) { @@ -281,7 +351,7 @@ public class CraftingStationGui extends GuiContainer fontRendererObj.drawString(bloss + df.format(stoneboundSpeed), xSize + 8, base + offset * 10, 0xffffff); offset++; } - fontRendererObj.drawString(StatCollector.translateToLocal("gui.toolstation15") + getHarvestLevelName(tags.getInteger("HarvestLevel")), xSize + 8, base + offset * 10, 0xffffff); + fontRendererObj.drawString(StatCollector.translateToLocal("gui.toolstation15") + getHarvestLevelName(tags.getInteger("HarvestLevel")), offsetX + 8, base + offset * 10, 0xffffff); offset++; offset++; } @@ -289,7 +359,7 @@ public class CraftingStationGui extends GuiContainer { float mineSpeed = tags.getInteger("MiningSpeed"); float trueSpeed = mineSpeed / (100f); - fontRendererObj.drawString(StatCollector.translateToLocal("gui.toolstation16") + trueSpeed, xSize + 8, base + offset * 10, 0xffffff); + fontRendererObj.drawString(StatCollector.translateToLocal("gui.toolstation16") + trueSpeed, offsetX + 8, base + offset * 10, 0xffffff); offset++; offset++; } @@ -297,12 +367,12 @@ public class CraftingStationGui extends GuiContainer int modifiers = tags.getInteger("Modifiers"); if (modifiers > 0) { - fontRendererObj.drawString(StatCollector.translateToLocal("gui.toolstation18") + tags.getInteger("Modifiers"), xSize + 8, base + offset * 10, 0xffffff); + fontRendererObj.drawString(StatCollector.translateToLocal("gui.toolstation18") + tags.getInteger("Modifiers"), offsetX + 8, base + offset * 10, 0xffffff); offset++; } if (tags.hasKey("Tooltip1")) { - fontRendererObj.drawString(StatCollector.translateToLocal("gui.toolstation17"), xSize + 8, base + offset * 10, 0xffffff); + fontRendererObj.drawString(StatCollector.translateToLocal("gui.toolstation17"), offsetX + 8, base + offset * 10, 0xffffff); } boolean displayToolTips = true; @@ -314,7 +384,7 @@ public class CraftingStationGui extends GuiContainer if (tags.hasKey(tooltip)) { String tipName = tags.getString(tooltip); - fontRendererObj.drawString("- " + tipName, xSize + 8, base + (offset + tipNum) * 10, 0xffffff); + fontRendererObj.drawString("- " + tipName, offsetX + 8, base + (offset + tipNum) * 10, 0xffffff); } else displayToolTips = false; @@ -344,8 +414,13 @@ public class CraftingStationGui extends GuiContainer void drawToolInformation () { - this.drawCenteredString(fontRendererObj, title, xSize + 63, 8, 0xffffff); - fontRendererObj.drawSplitString(body, xSize + 8, 24, 115, 0xffffff); + int offsetX = 239; + if (logic.chest != null) + { + offsetX += 122; + } + this.drawCenteredString(fontRendererObj, title, offsetX, 8, 0xffffff); + fontRendererObj.drawSplitString(body, offsetX - 56, 24, 115, 0xffffff); } private static final ResourceLocation background = new ResourceLocation("tinker", "textures/gui/tinkertable.png"); @@ -359,20 +434,18 @@ public class CraftingStationGui extends GuiContainer // Draw the background GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); this.mc.getTextureManager().bindTexture(background); - int cornerX = (this.width - this.xSize) / 2; - int cornerY = (this.height - this.ySize) / 2; - this.drawTexturedModalRect(cornerX, cornerY, 0, 0, this.xSize, this.ySize); + this.drawTexturedModalRect(this.craftingLeft, this.craftingTop, 0, 0, 176, 166); if (active) { - this.drawTexturedModalRect(cornerX + 62, cornerY, 0, this.ySize, 112, 22); + this.drawTexturedModalRect(this.craftingLeft + 62, this.craftingTop, 0, 166, 112, 22); } this.mc.getTextureManager().bindTexture(icons); // Draw the slots if (logic.tinkerTable && !logic.isStackInSlot(5)) - this.drawTexturedModalRect(cornerX + 47, cornerY + 33, 0, 233, 18, 18); + this.drawTexturedModalRect(this.craftingLeft + 47, this.craftingTop + 33, 0, 233, 18, 18); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); this.mc.getTextureManager().bindTexture(icons); @@ -382,10 +455,11 @@ public class CraftingStationGui extends GuiContainer { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); this.mc.getTextureManager().bindTexture(chest); + if (logic.doubleChest == null) - this.drawTexturedModalRect(cornerX - 116, cornerY, 0, 0, 121, this.ySize); + this.drawTexturedModalRect(this.chestLeft, this.chestTop, 0, 0, 122, 114); else - this.drawTexturedModalRect(cornerX - 116, cornerY, 125, 0, 122, this.ySize + 21); + this.drawTexturedModalRect(this.chestLeft, this.chestTop, 125, 0, 122, 187); } // Draw description @@ -393,9 +467,7 @@ public class CraftingStationGui extends GuiContainer { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); this.mc.getTextureManager().bindTexture(description); - cornerX = (this.width + this.xSize) / 2; - cornerY = (this.height - this.ySize) / 2; - this.drawTexturedModalRect(cornerX, cornerY, 0, 0, 126, this.ySize + 30); + this.drawTexturedModalRect(this.descLeft, this.descTop, 0, 0, 126, 172); } } diff --git a/src/main/java/tconstruct/tools/inventory/CraftingStationContainer.java b/src/main/java/tconstruct/tools/inventory/CraftingStationContainer.java index f07d0646..9ba3c6b3 100644 --- a/src/main/java/tconstruct/tools/inventory/CraftingStationContainer.java +++ b/src/main/java/tconstruct/tools/inventory/CraftingStationContainer.java @@ -43,16 +43,25 @@ public class CraftingStationContainer extends Container craftMatrix = new InventoryCraftingStation(this, 3, 3, logic); craftResult = new InventoryCraftingStationResult(logic); - this.addSlotToContainer(new SlotCraftingStation(inventorplayer.player, this.craftMatrix, this.craftResult, 0, 124, 35)); - int row; int column; + int craftingOffsetX = 30; + int inventoryOffsetX = 8; + + if (logic.chest != null) + { + craftingOffsetX += 122; + inventoryOffsetX += 122; + } + + this.addSlotToContainer(new SlotCraftingStation(inventorplayer.player, this.craftMatrix, this.craftResult, 0, craftingOffsetX + 94, 35)); + for (row = 0; row < 3; ++row) { for (column = 0; column < 3; ++column) { - this.addSlotToContainer(new Slot(this.craftMatrix, column + row * 3, 30 + column * 18, 17 + row * 18)); + this.addSlotToContainer(new Slot(this.craftMatrix, column + row * 3, craftingOffsetX + column * 18, 17 + row * 18)); } } @@ -61,32 +70,39 @@ public class CraftingStationContainer extends Container { for (column = 0; column < 9; ++column) { - this.addSlotToContainer(new Slot(inventorplayer, column + row * 9 + 9, 8 + column * 18, 84 + row * 18)); + this.addSlotToContainer(new Slot(inventorplayer, column + row * 9 + 9, inventoryOffsetX + column * 18, 84 + row * 18)); } } for (column = 0; column < 9; ++column) { - this.addSlotToContainer(new Slot(inventorplayer, column, 8 + column * 18, 142)); + this.addSlotToContainer(new Slot(inventorplayer, column, inventoryOffsetX + column * 18, 142)); } //Side inventory if (logic.chest != null) { - IInventory chest = logic.chest.get(); - IInventory doubleChest = logic.doubleChest == null ? null : logic.doubleChest.get(); + IInventory firstChest = logic.chest.get(); + IInventory secondChest = logic.doubleChest == null ? null : logic.doubleChest.get(); + + if (logic.doubleFirst && logic.doubleChest != null) + { + secondChest = logic.chest.get(); + firstChest = logic.doubleChest.get(); + } + int count = 0; for (column = 0; column < 9; column++) { for (row = 0; row < 6; row++) { int value = count < 27 ? count : count - 27; - this.addSlotToContainer(new Slot(count < 27 ? chest : doubleChest, value, -108 + row * 18, 19 + column * 18)); + this.addSlotToContainer(new Slot(count < 27 ? firstChest : secondChest, value, 14 + row * 18, 19 + column * 18)); count++; - if (count >= 27 && doubleChest == null) + if (count >= 27 && secondChest == null) break; } - if (count >= 27 && doubleChest == null) + if (count >= 27 && secondChest == null) break; } } @@ -143,17 +159,17 @@ public class CraftingStationContainer extends Container } } } - + @Override public boolean canInteractWith (EntityPlayer player) { - + Block block = worldObj.getBlock(this.posX, this.posY, this.posZ); if (block != TinkerTools.craftingStationWood && block != TinkerTools.craftingSlabWood) return false; return player.getDistanceSq((double) this.posX + 0.5D, (double) this.posY + 0.5D, (double) this.posZ + 0.5D) <= 64.0D; } - + public ItemStack transferStackInSlot (EntityPlayer par1EntityPlayer, int par2) { ItemStack itemstack = null;