From 4e4d83115b0054fa89fca5105adde2024c1630a9 Mon Sep 17 00:00:00 2001 From: Eldrinn Elantey <46845681+Eldrinn-Elantey@users.noreply.github.com> Date: Thu, 1 Oct 2026 08:51:16 +0400 Subject: [PATCH] Fix Advanced Network Tool slots overflowing in Inscriber and Crystal Growth Chamber (#1640) --- .../gui/implementations/GuiAdvancedInscriber.java | 11 +++++++++-- .../gui/implementations/GuiCrystalGrowthChamber.java | 11 +++++++++-- .../client/gui/implementations/GuiInscriber.java | 11 +++++++++-- .../implementations/ContainerAdvancedInscriber.java | 8 +++++++- .../implementations/ContainerUpgradeable.java | 7 ++++++- 5 files changed, 40 insertions(+), 8 deletions(-) diff --git a/src/main/java/appeng/client/gui/implementations/GuiAdvancedInscriber.java b/src/main/java/appeng/client/gui/implementations/GuiAdvancedInscriber.java index ad76db40b..3ccd92aca 100644 --- a/src/main/java/appeng/client/gui/implementations/GuiAdvancedInscriber.java +++ b/src/main/java/appeng/client/gui/implementations/GuiAdvancedInscriber.java @@ -34,13 +34,17 @@ public class GuiAdvancedInscriber extends AEBaseGui { super(new ContainerAdvancedInscriber(inventoryPlayer, te)); this.container = (ContainerAdvancedInscriber) this.inventorySlots; this.ySize = 176; - this.xSize = this.hasToolbox() ? 246 : 211; + this.xSize = !this.hasToolbox() ? 211 : this.getToolboxSize() == 5 ? 317 : 246; } private boolean hasToolbox() { return ((ContainerUpgradeable) this.inventorySlots).hasToolbox(); } + private int getToolboxSize() { + return ((ContainerUpgradeable) this.inventorySlots).getToolboxSize(); + } + @Override public void initGui() { super.initGui(); @@ -90,7 +94,10 @@ public class GuiAdvancedInscriber extends AEBaseGui { this.bindTexture("guis/mac.png"); this.drawTexturedModalRect(offsetX + 179, offsetY, 179, 0, 32, 104); - if (this.hasToolbox()) { + if (this.hasToolbox() && this.getToolboxSize() == 5) { + this.bindTexture("guis/advanced_toolbox.png"); + this.drawTexturedModalRect(offsetX + 213, offsetY + 64, 0, 0, 104, 104); + } else if (this.hasToolbox()) { this.bindTexture("guis/inscriber.png"); this.drawTexturedModalRect(offsetX + 178, offsetY + 105, 178, this.ySize - 90, 68, 68); } diff --git a/src/main/java/appeng/client/gui/implementations/GuiCrystalGrowthChamber.java b/src/main/java/appeng/client/gui/implementations/GuiCrystalGrowthChamber.java index 0ddba5c34..152183a3a 100644 --- a/src/main/java/appeng/client/gui/implementations/GuiCrystalGrowthChamber.java +++ b/src/main/java/appeng/client/gui/implementations/GuiCrystalGrowthChamber.java @@ -18,13 +18,17 @@ public class GuiCrystalGrowthChamber extends AEBaseGui { super(new ContainerCrystalGrowthChamber(inventoryPlayer, te)); cg = (ContainerCrystalGrowthChamber) this.inventorySlots; ySize = 166; - xSize = hasToolbox() ? 246 : 211; + xSize = !hasToolbox() ? 211 : getToolboxSize() == 5 ? 290 : 246; } private boolean hasToolbox() { return ((ContainerUpgradeable) this.inventorySlots).hasToolbox(); } + private int getToolboxSize() { + return ((ContainerUpgradeable) this.inventorySlots).getToolboxSize(); + } + @Override public void drawFG(final int offsetX, final int offsetY, final int mouseX, final int mouseY) { fontRendererObj.drawString( @@ -46,7 +50,10 @@ public class GuiCrystalGrowthChamber extends AEBaseGui { if (drawUpgrades()) { drawTexturedModalRect(offsetX + 177, offsetY, 177, 0, 35, 14 + cg.availableUpgrades() * 18); } - if (hasToolbox()) { + if (hasToolbox() && getToolboxSize() == 5) { + bindTexture("guis/advanced_toolbox.png"); + drawTexturedModalRect(offsetX + 178, offsetY + ySize - 90 - 7, 0, 0, 104, 104); + } else if (hasToolbox()) { drawTexturedModalRect(offsetX + 178, offsetY + ySize - 90, 178, ySize - 90, 68, 68); } } diff --git a/src/main/java/appeng/client/gui/implementations/GuiInscriber.java b/src/main/java/appeng/client/gui/implementations/GuiInscriber.java index 3ffe006eb..fec990185 100644 --- a/src/main/java/appeng/client/gui/implementations/GuiInscriber.java +++ b/src/main/java/appeng/client/gui/implementations/GuiInscriber.java @@ -30,13 +30,17 @@ public class GuiInscriber extends AEBaseGui { super(new ContainerInscriber(inventoryPlayer, te)); this.cvc = (ContainerInscriber) this.inventorySlots; this.ySize = 176; - this.xSize = this.hasToolbox() ? 246 : 211; + this.xSize = !this.hasToolbox() ? 211 : this.getToolboxSize() == 5 ? 290 : 246; } private boolean hasToolbox() { return ((ContainerUpgradeable) this.inventorySlots).hasToolbox(); } + private int getToolboxSize() { + return ((ContainerUpgradeable) this.inventorySlots).getToolboxSize(); + } + @Override public void initGui() { super.initGui(); @@ -72,7 +76,10 @@ public class GuiInscriber extends AEBaseGui { if (this.drawUpgrades()) { this.drawTexturedModalRect(offsetX + 177, offsetY, 177, 0, 35, 14 + this.cvc.availableUpgrades() * 18); } - if (this.hasToolbox()) { + if (this.hasToolbox() && this.getToolboxSize() == 5) { + this.bindTexture("guis/advanced_toolbox.png"); + this.drawTexturedModalRect(offsetX + 178, offsetY + this.ySize - 90 - 7, 0, 0, 104, 104); + } else if (this.hasToolbox()) { this.drawTexturedModalRect(offsetX + 178, offsetY + this.ySize - 90, 178, this.ySize - 90, 68, 68); } } diff --git a/src/main/java/appeng/container/implementations/ContainerAdvancedInscriber.java b/src/main/java/appeng/container/implementations/ContainerAdvancedInscriber.java index aad2cd63c..8f070c657 100644 --- a/src/main/java/appeng/container/implementations/ContainerAdvancedInscriber.java +++ b/src/main/java/appeng/container/implementations/ContainerAdvancedInscriber.java @@ -64,7 +64,13 @@ public class ContainerAdvancedInscriber extends ContainerUpgradeable implements @Override protected int getToolboxY() { - return 113; + // The 5x5 toolbox does not fit below the upgrade strip, so it is placed next to it instead + return this.getToolboxSize() == 5 ? 79 : 113; + } + + @Override + protected int getToolboxX() { + return this.getToolboxSize() == 5 ? 221 : 186; } @Override diff --git a/src/main/java/appeng/container/implementations/ContainerUpgradeable.java b/src/main/java/appeng/container/implementations/ContainerUpgradeable.java index ff37d3b0d..455926fc0 100644 --- a/src/main/java/appeng/container/implementations/ContainerUpgradeable.java +++ b/src/main/java/appeng/container/implementations/ContainerUpgradeable.java @@ -100,6 +100,7 @@ public abstract class ContainerUpgradeable extends AEBaseContainer implements IO // For advanced toolbox to move down a little bit int yBias = size == 3 ? 0 : 7; int toolboxY = this.getToolboxY(); + int toolboxX = this.getToolboxX(); for (int v = 0; v < size; v++) { for (int u = 0; u < size; u++) { this.addSlotToContainer( @@ -107,7 +108,7 @@ public abstract class ContainerUpgradeable extends AEBaseContainer implements IO SlotRestrictedInput.PlacableItemType.UPGRADES, this.tbInventory, u + v * size, - 186 + u * 18, + toolboxX + u * 18, toolboxY - yBias + v * 18, this.getInventoryPlayer())).setPlayerSide()); } @@ -139,6 +140,10 @@ public abstract class ContainerUpgradeable extends AEBaseContainer implements IO return this.getHeight() - 82; } + protected int getToolboxX() { + return 186; + } + protected void setupConfig() { this.setupUpgrades(); }