From 7749cf4adfe366d6c69586573e9a900955442d6b Mon Sep 17 00:00:00 2001 From: TheVitya2127 Date: Sat, 25 Jul 2026 22:57:03 +0400 Subject: [PATCH] I'm listening to you --- .../handler/nei/RefineryRecipeHandler.java | 2 +- .../container/ContainerMachineRefinery.java | 26 ++++---- .../hbm/inventory/gui/GUIMachineRefinery.java | 58 ++++++++---------- .../textures/gui/processing/gui_refinery.png | Bin 8584 -> 3956 bytes 4 files changed, 40 insertions(+), 46 deletions(-) diff --git a/src/main/java/com/hbm/handler/nei/RefineryRecipeHandler.java b/src/main/java/com/hbm/handler/nei/RefineryRecipeHandler.java index 2bf1e9e6e..d7f8f1016 100644 --- a/src/main/java/com/hbm/handler/nei/RefineryRecipeHandler.java +++ b/src/main/java/com/hbm/handler/nei/RefineryRecipeHandler.java @@ -162,7 +162,7 @@ public class RefineryRecipeHandler extends TemplateRecipeHandler implements ICom guiGui = new LinkedList>(); transferRects.add(new RecipeTransferRect(new Rectangle(138 - 1 - 36 - 27, 23, 36, 18), "refinery")); - transferRectsGui.add(new RecipeTransferRect(new Rectangle(48, 5, 31, 101), "refinery")); + transferRectsGui.add(new RecipeTransferRect(new Rectangle(34, 34, 14, 34), "refinery")); guiGui.add(GUIMachineRefinery.class); RecipeTransferRectHandler.registerRectsToGuis(getRecipeTransferRectGuis(), transferRects); RecipeTransferRectHandler.registerRectsToGuis(guiGui, transferRectsGui); diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineRefinery.java b/src/main/java/com/hbm/inventory/container/ContainerMachineRefinery.java index b47d2b182..e7a311c5f 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineRefinery.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineRefinery.java @@ -19,31 +19,31 @@ public class ContainerMachineRefinery extends Container { testNuke = tedf; //Battery - this.addSlotToContainer(new Slot(tedf, 0, 186, 72)); + this.addSlotToContainer(new Slot(tedf, 0, 158, 108)); //Canister Input - this.addSlotToContainer(new Slot(tedf, 1, 8, 99)); + this.addSlotToContainer(new Slot(tedf, 1, 12, 90)); //Canister Output - this.addSlotToContainer(new SlotTakeOnly(tedf, 2, 8, 119)); + this.addSlotToContainer(new SlotTakeOnly(tedf, 2, 12, 108)); //Heavy Oil Input - this.addSlotToContainer(new Slot(tedf, 3, 86, 99)); + this.addSlotToContainer(new Slot(tedf, 3, 64, 90)); //Heavy Oil Output - this.addSlotToContainer(new SlotTakeOnly(tedf, 4, 86, 119)); + this.addSlotToContainer(new SlotTakeOnly(tedf, 4, 64, 108)); //Naphtha Input - this.addSlotToContainer(new Slot(tedf, 5, 106, 99)); + this.addSlotToContainer(new Slot(tedf, 5, 82, 90)); //Naphtha Output - this.addSlotToContainer(new SlotTakeOnly(tedf, 6, 106, 119)); + this.addSlotToContainer(new SlotTakeOnly(tedf, 6, 82, 108)); //Light Oil Input - this.addSlotToContainer(new Slot(tedf, 7, 126, 99)); + this.addSlotToContainer(new Slot(tedf, 7, 100, 90)); //Light Oil Output - this.addSlotToContainer(new SlotTakeOnly(tedf, 8, 126, 119)); + this.addSlotToContainer(new SlotTakeOnly(tedf, 8, 100, 108)); //Petroleum Input - this.addSlotToContainer(new Slot(tedf, 9, 146, 99)); + this.addSlotToContainer(new Slot(tedf, 9, 118, 90)); //Petroleum Output - this.addSlotToContainer(new SlotTakeOnly(tedf, 10, 146, 119)); + this.addSlotToContainer(new SlotTakeOnly(tedf, 10, 118, 108)); //Sulfur Output - this.addSlotToContainer(new SlotTakeOnly(tedf, 11, 58, 119)); + this.addSlotToContainer(new SlotTakeOnly(tedf, 11, 38, 90)); //Fluid ID - this.addSlotToContainer(new Slot(tedf, 12, 186, 106)); + this.addSlotToContainer(new Slot(tedf, 12, 38, 108)); for(int i = 0; i < 3; i++) { for(int j = 0; j < 9; j++) { diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineRefinery.java b/src/main/java/com/hbm/inventory/gui/GUIMachineRefinery.java index b3aae3272..962ca69ec 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineRefinery.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineRefinery.java @@ -26,27 +26,27 @@ public class GUIMachineRefinery extends GuiInfoContainer { super(new ContainerMachineRefinery(invPlayer, tedf)); refinery = tedf; - this.xSize = 210; - this.ySize = 231; + this.xSize = 182; + this.ySize = 240; } @Override public void drawScreen(int mouseX, int mouseY, float f) { super.drawScreen(mouseX, mouseY, f); - refinery.tanks[0].renderTankInfo(this, mouseX, mouseY, guiLeft + 30, guiTop + 27, 21, 104); // Render tooltip for column. - refinery.tanks[1].renderTankInfo(this, mouseX, mouseY, guiLeft + 86, guiTop + 42, 16, 52); - refinery.tanks[2].renderTankInfo(this, mouseX, mouseY, guiLeft + 106, guiTop + 42, 16, 52); - refinery.tanks[3].renderTankInfo(this, mouseX, mouseY, guiLeft + 126, guiTop + 42, 16, 52); - refinery.tanks[4].renderTankInfo(this, mouseX, mouseY, guiLeft + 146, guiTop + 42, 16, 52); - this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 186, guiTop + 18, 16, 52, refinery.power, refinery.maxPower); + refinery.tanks[0].renderTankInfo(this, mouseX, mouseY, guiLeft + 12, guiTop + 17, 16, 70); // Render tooltip for column. + refinery.tanks[1].renderTankInfo(this, mouseX, mouseY, guiLeft + 64, guiTop + 35, 16, 52); + refinery.tanks[2].renderTankInfo(this, mouseX, mouseY, guiLeft + 82, guiTop + 35, 16, 52); + refinery.tanks[3].renderTankInfo(this, mouseX, mouseY, guiLeft + 100, guiTop + 35, 16, 52); + refinery.tanks[4].renderTankInfo(this, mouseX, mouseY, guiLeft + 118, guiTop + 35, 16, 52); + this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 158, guiTop + 18, 16, 88, refinery.power, refinery.maxPower); } @Override protected void drawGuiContainerForegroundLayer(int i, int j) { String name = this.refinery.hasCustomInventoryName() ? this.refinery.getInventoryName() : I18n.format(this.refinery.getInventoryName()); - this.fontRendererObj.drawString(name, this.xSize / 2 - 34/2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); + this.fontRendererObj.drawString(name, this.xSize / 2 - 36 / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 4, 4210752); } @@ -54,25 +54,19 @@ public class GUIMachineRefinery extends GuiInfoContainer { protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); Minecraft.getMinecraft().getTextureManager().bindTexture(texture); - func_146110_a(guiLeft, guiTop, 0, 0, xSize, ySize, 350, 256); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); // power - int j = (int)refinery.getPowerScaled(50); - func_146110_a(guiLeft + 186, guiTop + 69 - j, 210, 52 - j, 16, j, 350, 256); + int j = (int)refinery.getPowerScaled(88); + drawTexturedModalRect(guiLeft + 158, guiTop + 106 - j, 182, 88 - j, 16, j); OpenGlHelper.glBlendFunc(770, 771, 1, 0); // default // input tank FluidTank inputOil = refinery.tanks[0]; if (inputOil.getFill() != 0) { - - int targetHeight = inputOil.getFill() * 101 / inputOil.getMaxFill(); - Color color = new Color(inputOil.getTankType().getColor()); - - GL11.glEnable(GL11.GL_BLEND); - GL11.glColor4f(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F, 1F); - func_146110_a(guiLeft + 33, guiTop + 130 - targetHeight, 226, 101 - targetHeight, 16, targetHeight, 350, 256); - GL11.glDisable(GL11.GL_BLEND); + refinery.tanks[0].renderTank(guiLeft + 12, guiTop + 88, this.zLevel, 16, 70); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); } // fucking kgjhgdfjgdhjfg @@ -84,10 +78,10 @@ public class GUIMachineRefinery extends GuiInfoContainer { RefineryRecipe recipe = RefineryRecipes.getRefinery(inputOil.getTankType()); if(recipe == null) { - func_146110_a(guiLeft + 52, guiTop + 63, 247, 1, 33, 48, 350, 256); - func_146110_a(guiLeft + 52, guiTop + 32, 247, 50, 66, 52, 350, 256); - func_146110_a(guiLeft + 52, guiTop + 24, 247, 145, 86, 35, 350, 256); - func_146110_a(guiLeft + 36, guiTop + 16, 211, 119, 122, 25, 350, 256); + func_146110_a(guiLeft + 30, guiTop + 30, 0, 248, 43, 4, 256, 256); + func_146110_a(guiLeft + 30, guiTop + 26, 0, 240, 61, 8, 256, 256); + func_146110_a(guiLeft + 30, guiTop + 22, 61, 240, 79, 12, 256, 256); + func_146110_a(guiLeft + 30, guiTop + 18, 140, 240, 97, 16, 256, 256); } else { // Heavy Oil Products @@ -95,31 +89,31 @@ public class GUIMachineRefinery extends GuiInfoContainer { GL11.glEnable(GL11.GL_BLEND); GL11.glColor4f(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F, 1F); - func_146110_a(guiLeft + 52, guiTop + 63, 247, 1, 33, 48, 350, 256); + func_146110_a(guiLeft + 30, guiTop + 30, 0, 248, 43, 4, 256, 256); // Naphtha Oil Products color = new Color(recipe.outputs[1].type.getColor()); GL11.glColor4f(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F, 1F); - func_146110_a(guiLeft + 52, guiTop + 32, 247, 50, 66, 52, 350, 256); + func_146110_a(guiLeft + 30, guiTop + 26, 0, 240, 61, 8, 256, 256); // Light Oil Products color = new Color(recipe.outputs[2].type.getColor()); GL11.glColor4f(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F, 1F); - func_146110_a(guiLeft + 52, guiTop + 24, 247, 145, 86, 35, 350, 256); + func_146110_a(guiLeft + 30, guiTop + 22, 61, 240, 79, 12, 256, 256); // Gaseous Products color = new Color(recipe.outputs[3].type.getColor()); GL11.glColor4f(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F, 1F); - func_146110_a(guiLeft + 36, guiTop + 16, 211, 119, 122, 25, 350, 256); + func_146110_a(guiLeft + 30, guiTop + 18, 140, 240, 97, 16, 256, 256); GL11.glDisable(GL11.GL_BLEND); GL11.glColor4f(1F, 1F, 1F, 1F); } // output tanks - refinery.tanks[1].renderTank(guiLeft + 86, guiTop + 95, this.zLevel, 16, 52); - refinery.tanks[2].renderTank(guiLeft + 106, guiTop + 95, this.zLevel, 16, 52); - refinery.tanks[3].renderTank(guiLeft + 126, guiTop + 95, this.zLevel, 16, 52); - refinery.tanks[4].renderTank(guiLeft + 146, guiTop + 95, this.zLevel, 16, 52); + refinery.tanks[1].renderTank(guiLeft + 64, guiTop + 88, this.zLevel, 16, 52); + refinery.tanks[2].renderTank(guiLeft + 82, guiTop + 88, this.zLevel, 16, 52); + refinery.tanks[3].renderTank(guiLeft + 100, guiTop + 88, this.zLevel, 16, 52); + refinery.tanks[4].renderTank(guiLeft + 118, guiTop + 88, this.zLevel, 16, 52); } } diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_refinery.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_refinery.png index 6dbf4ffb16d132e7219a706f7b5c2978f805b159..0f6a50a39ce401a66b2abce0a35d95355e3131a2 100644 GIT binary patch literal 3956 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 literal 8584 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