mirror of
https://github.com/GTNewHorizons/TinkersConstruct.git
synced 2026-11-13 17:04:24 +00:00
Fixed items dropping while clicking chest inventory in crafting station/tinkers table, and display order for large chests, closes #698
This commit is contained in:
1 parent
6983322b9b
commit
ea12d67f9c
2 files changed
+146
-58
No files matched your search
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in new issue
Block a user