From cd1455cebcd22b71a9ae89498a720f20a08cef32 Mon Sep 17 00:00:00 2001 From: TheVitya2127 Date: Mon, 20 Jul 2026 10:57:25 +0400 Subject: [PATCH] By order from [message has deleted] --- .../handler/nei/RefineryRecipeHandler.java | 2 +- .../container/ContainerMachineRefinery.java | 30 ++++----- .../hbm/inventory/gui/GUIMachineRefinery.java | 62 ++++++++++-------- .../textures/gui/processing/gui_refinery.png | Bin 3770 -> 8584 bytes 4 files changed, 50 insertions(+), 44 deletions(-) diff --git a/src/main/java/com/hbm/handler/nei/RefineryRecipeHandler.java b/src/main/java/com/hbm/handler/nei/RefineryRecipeHandler.java index f7d84f28e..2bf1e9e6e 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(24, 16, 31, 36), "refinery")); + transferRectsGui.add(new RecipeTransferRect(new Rectangle(48, 5, 31, 101), "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 3652425b4..b47d2b182 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineRefinery.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineRefinery.java @@ -19,40 +19,40 @@ public class ContainerMachineRefinery extends Container { testNuke = tedf; //Battery - this.addSlotToContainer(new Slot(tedf, 0, 160, 90)); + this.addSlotToContainer(new Slot(tedf, 0, 186, 72)); //Canister Input - this.addSlotToContainer(new Slot(tedf, 1, 12, 72)); + this.addSlotToContainer(new Slot(tedf, 1, 8, 99)); //Canister Output - this.addSlotToContainer(new SlotTakeOnly(tedf, 2, 12, 90)); + this.addSlotToContainer(new SlotTakeOnly(tedf, 2, 8, 119)); //Heavy Oil Input - this.addSlotToContainer(new Slot(tedf, 3, 66, 72)); + this.addSlotToContainer(new Slot(tedf, 3, 86, 99)); //Heavy Oil Output - this.addSlotToContainer(new SlotTakeOnly(tedf, 4, 66, 90)); + this.addSlotToContainer(new SlotTakeOnly(tedf, 4, 86, 119)); //Naphtha Input - this.addSlotToContainer(new Slot(tedf, 5, 84, 72)); + this.addSlotToContainer(new Slot(tedf, 5, 106, 99)); //Naphtha Output - this.addSlotToContainer(new SlotTakeOnly(tedf, 6, 84, 90)); + this.addSlotToContainer(new SlotTakeOnly(tedf, 6, 106, 119)); //Light Oil Input - this.addSlotToContainer(new Slot(tedf, 7, 102, 72)); + this.addSlotToContainer(new Slot(tedf, 7, 126, 99)); //Light Oil Output - this.addSlotToContainer(new SlotTakeOnly(tedf, 8, 102, 90)); + this.addSlotToContainer(new SlotTakeOnly(tedf, 8, 126, 119)); //Petroleum Input - this.addSlotToContainer(new Slot(tedf, 9, 120, 72)); + this.addSlotToContainer(new Slot(tedf, 9, 146, 99)); //Petroleum Output - this.addSlotToContainer(new SlotTakeOnly(tedf, 10, 120, 90)); + this.addSlotToContainer(new SlotTakeOnly(tedf, 10, 146, 119)); //Sulfur Output - this.addSlotToContainer(new SlotTakeOnly(tedf, 11, 38, 72)); + this.addSlotToContainer(new SlotTakeOnly(tedf, 11, 58, 119)); //Fluid ID - this.addSlotToContainer(new Slot(tedf, 12, 38, 90)); + this.addSlotToContainer(new Slot(tedf, 12, 186, 106)); for(int i = 0; i < 3; i++) { for(int j = 0; j < 9; j++) { - this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 12 + j * 18, 140 + i * 18)); + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 150 + i * 18)); } } for(int i = 0; i < 9; i++) { - this.addSlotToContainer(new Slot(invPlayer, i, 12 + i * 18, 198)); + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 208)); } } diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineRefinery.java b/src/main/java/com/hbm/inventory/gui/GUIMachineRefinery.java index 4e78a9cc3..b3aae3272 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineRefinery.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineRefinery.java @@ -26,47 +26,53 @@ public class GUIMachineRefinery extends GuiInfoContainer { super(new ContainerMachineRefinery(invPlayer, tedf)); refinery = tedf; - this.xSize = 184; - this.ySize = 222; + this.xSize = 210; + this.ySize = 231; } @Override public void drawScreen(int mouseX, int mouseY, float f) { super.drawScreen(mouseX, mouseY, f); - refinery.tanks[0].renderTankInfo(this, mouseX, mouseY, guiLeft + 12, guiTop + 17, 16, 52); // Render tooltip for column. - refinery.tanks[1].renderTankInfo(this, mouseX, mouseY, guiLeft + 66, guiTop + 17, 16, 52); - refinery.tanks[2].renderTankInfo(this, mouseX, mouseY, guiLeft + 84, guiTop + 17, 16, 52); - refinery.tanks[3].renderTankInfo(this, mouseX, mouseY, guiLeft + 102, guiTop + 17, 16, 52); - refinery.tanks[4].renderTankInfo(this, mouseX, mouseY, guiLeft + 120, guiTop + 17, 16, 52); - this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 160, guiTop + 18, 16, 70, refinery.power, refinery.maxPower); + 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); } @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 - 36 / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); - this.fontRendererObj.drawString(I18n.format("container.inventory"), 12, this.ySize - 96 + 4, 4210752); + this.fontRendererObj.drawString(name, this.xSize / 2 - 34/2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); + this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 4, 4210752); } @Override 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); - drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + func_146110_a(guiLeft, guiTop, 0, 0, xSize, ySize, 350, 256); // power - int j = (int)refinery.getPowerScaled(70); - drawTexturedModalRect(guiLeft + 160, guiTop + 88 - j, 184, 70 - j, 16, j); + int j = (int)refinery.getPowerScaled(50); + func_146110_a(guiLeft + 186, guiTop + 69 - j, 210, 52 - j, 16, j, 350, 256); OpenGlHelper.glBlendFunc(770, 771, 1, 0); // default // input tank FluidTank inputOil = refinery.tanks[0]; if (inputOil.getFill() != 0) { - refinery.tanks[0].renderTank(guiLeft + 12, guiTop + 70, this.zLevel, 16, 52); - Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + + 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); } // fucking kgjhgdfjgdhjfg @@ -74,14 +80,14 @@ public class GUIMachineRefinery extends GuiInfoContainer { // 350x256 texture by behated (the pipes wouldn't fit) // pipes - + RefineryRecipe recipe = RefineryRecipes.getRefinery(inputOil.getTankType()); if(recipe == null) { - func_146110_a(guiLeft + 60, guiTop + 54, 184, 104, 6, 2, 256, 256); - func_146110_a(guiLeft + 60, guiTop + 47, 184, 97, 24, 2, 256, 256); - func_146110_a(guiLeft + 60, guiTop + 40, 184, 90, 42, 2, 256, 256); - func_146110_a(guiLeft + 60, guiTop + 33, 184, 83, 60, 2, 256, 256); + 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); } else { // Heavy Oil Products @@ -89,31 +95,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 + 60, guiTop + 54, 184, 104, 6, 2, 256, 256); + func_146110_a(guiLeft + 52, guiTop + 63, 247, 1, 33, 48, 350, 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 + 60, guiTop + 47, 184, 97, 24, 2, 256, 256); + func_146110_a(guiLeft + 52, guiTop + 32, 247, 50, 66, 52, 350, 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 + 60, guiTop + 40, 184, 90, 42, 2, 256, 256); + func_146110_a(guiLeft + 52, guiTop + 24, 247, 145, 86, 35, 350, 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 + 60, guiTop + 33, 184, 83, 60, 2, 256, 256); + func_146110_a(guiLeft + 36, guiTop + 16, 211, 119, 122, 25, 350, 256); GL11.glDisable(GL11.GL_BLEND); GL11.glColor4f(1F, 1F, 1F, 1F); } // output tanks - refinery.tanks[1].renderTank(guiLeft + 66, guiTop + 70, this.zLevel, 16, 52); - refinery.tanks[2].renderTank(guiLeft + 84, guiTop + 70, this.zLevel, 16, 52); - refinery.tanks[3].renderTank(guiLeft + 102, guiTop + 70, this.zLevel, 16, 52); - refinery.tanks[4].renderTank(guiLeft + 120, guiTop + 70, this.zLevel, 16, 52); + 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); } } 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 1b67169eadf123fafc48a68f8fbeadc26926745d..6dbf4ffb16d132e7219a706f7b5c2978f805b159 100644 GIT binary patch literal 8584 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