From c89f1b411f7f3017b97aa27c4925f414949e9e66 Mon Sep 17 00:00:00 2001 From: BallOfEnergy <66693744+BallOfEnergy1@users.noreply.github.com> Date: Sun, 11 Aug 2024 22:02:54 -0500 Subject: [PATCH 1/3] ughhhh ok I fixed some bugs with OC compat and added new refinery GUI (bugs were in CCGT `setThrottle()` function and the TELEX `setSendingText()`) --- .../handler/nei/RefineryRecipeHandler.java | 4 +- .../container/ContainerMachineRefinery.java | 30 ++--- .../hbm/inventory/gui/GUIMachineRefinery.java | 107 ++++++++++++++---- .../machine/TileEntityMachineTurbineGas.java | 2 +- .../network/TileEntityRadioTelex.java | 2 +- .../textures/gui/processing/gui_refinery.png | Bin 3023 -> 8584 bytes 6 files changed, 103 insertions(+), 42 deletions(-) diff --git a/src/main/java/com/hbm/handler/nei/RefineryRecipeHandler.java b/src/main/java/com/hbm/handler/nei/RefineryRecipeHandler.java index f085e4ebe..8818a3d9d 100644 --- a/src/main/java/com/hbm/handler/nei/RefineryRecipeHandler.java +++ b/src/main/java/com/hbm/handler/nei/RefineryRecipeHandler.java @@ -161,8 +161,8 @@ public class RefineryRecipeHandler extends TemplateRecipeHandler implements ICom transferRectsGui = new LinkedList(); guiGui = new LinkedList>(); - transferRects.add(new RecipeTransferRect(new Rectangle(138 - 1 - 36 - 27, 23, 36, 18), "refinery")); - transferRectsGui.add(new RecipeTransferRect(new Rectangle(18 * 2 + 2 + 36, 89 - 7 - 11 - 11, 18 * 4, 18), "refinery")); + transferRects.add(new RecipeTransferRect(new Rectangle(48, 5, 31, 101), "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 000a58cf1..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, 8, 90)); + this.addSlotToContainer(new Slot(tedf, 0, 186, 72)); //Canister Input - this.addSlotToContainer(new Slot(tedf, 1, 35, 90)); + this.addSlotToContainer(new Slot(tedf, 1, 8, 99)); //Canister Output - this.addSlotToContainer(new SlotTakeOnly(tedf, 2, 35, 108)); + this.addSlotToContainer(new SlotTakeOnly(tedf, 2, 8, 119)); //Heavy Oil Input - this.addSlotToContainer(new Slot(tedf, 3, 80, 90)); + this.addSlotToContainer(new Slot(tedf, 3, 86, 99)); //Heavy Oil Output - this.addSlotToContainer(new SlotTakeOnly(tedf, 4, 80, 108)); + this.addSlotToContainer(new SlotTakeOnly(tedf, 4, 86, 119)); //Naphtha Input - this.addSlotToContainer(new Slot(tedf, 5, 98, 90)); + this.addSlotToContainer(new Slot(tedf, 5, 106, 99)); //Naphtha Output - this.addSlotToContainer(new SlotTakeOnly(tedf, 6, 98, 108)); + this.addSlotToContainer(new SlotTakeOnly(tedf, 6, 106, 119)); //Light Oil Input - this.addSlotToContainer(new Slot(tedf, 7, 116, 90)); + this.addSlotToContainer(new Slot(tedf, 7, 126, 99)); //Light Oil Output - this.addSlotToContainer(new SlotTakeOnly(tedf, 8, 116, 108)); + this.addSlotToContainer(new SlotTakeOnly(tedf, 8, 126, 119)); //Petroleum Input - this.addSlotToContainer(new Slot(tedf, 9, 134, 90)); + this.addSlotToContainer(new Slot(tedf, 9, 146, 99)); //Petroleum Output - this.addSlotToContainer(new SlotTakeOnly(tedf, 10, 134, 108)); + this.addSlotToContainer(new SlotTakeOnly(tedf, 10, 146, 119)); //Sulfur Output - this.addSlotToContainer(new SlotTakeOnly(tedf, 11, 152, 36)); + this.addSlotToContainer(new SlotTakeOnly(tedf, 11, 58, 119)); //Fluid ID - this.addSlotToContainer(new Slot(tedf, 12, 8, 108)); + 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, 8 + j * 18, 84 + i * 18 + 56)); + 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, 8 + i * 18, 142 + 56)); + 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 04b901816..0db5f2f29 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineRefinery.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineRefinery.java @@ -1,9 +1,14 @@ package com.hbm.inventory.gui; +import com.hbm.inventory.FluidStack; +import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.recipes.RefineryRecipes; +import com.hbm.util.Tuple; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.item.ItemStack; import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerMachineRefinery; -import com.hbm.inventory.fluid.Fluids; import com.hbm.lib.RefStrings; import com.hbm.tileentity.machine.oil.TileEntityMachineRefinery; @@ -12,6 +17,8 @@ import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.util.ResourceLocation; +import java.awt.Color; + public class GUIMachineRefinery extends GuiInfoContainer { private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/processing/gui_refinery.png"); @@ -21,46 +28,100 @@ public class GUIMachineRefinery extends GuiInfoContainer { super(new ContainerMachineRefinery(invPlayer, tedf)); refinery = tedf; - this.xSize = 176; - this.ySize = 222; + this.xSize = 209; + 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 + 26, guiTop + 70 - 52, 34, 52); - refinery.tanks[1].renderTankInfo(this, mouseX, mouseY, guiLeft + 80, guiTop + 70 - 52, 16, 52); - refinery.tanks[2].renderTankInfo(this, mouseX, mouseY, guiLeft + 98, guiTop + 70 - 52, 16, 52); - refinery.tanks[3].renderTankInfo(this, mouseX, mouseY, guiLeft + 116, guiTop + 70 - 52, 16, 52); - refinery.tanks[4].renderTankInfo(this, mouseX, mouseY, guiLeft + 134, guiTop + 70 - 52, 16, 52); - this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 8, guiTop + 70 - 52, 16, 52, 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 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); - this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 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); - - if(refinery.tanks[0].getTankType() == Fluids.HOTCRACKOIL) - drawTexturedModalRect(guiLeft + 64, guiTop + 20, 192, 0, 12, 26); + func_146110_a(guiLeft, guiTop, 0, 0, xSize, ySize, 350, 256); - int j = (int)refinery.getPowerScaled(52); - drawTexturedModalRect(guiLeft + 8, guiTop + 70 - j, 176, 52 - j, 16, j); - - refinery.tanks[0].renderTank(guiLeft + 26, guiTop + 70, this.zLevel, 34, 52); - refinery.tanks[1].renderTank(guiLeft + 80, guiTop + 70, this.zLevel, 16, 52); - refinery.tanks[2].renderTank(guiLeft + 98, guiTop + 70, this.zLevel, 16, 52); - refinery.tanks[3].renderTank(guiLeft + 116, guiTop + 70, this.zLevel, 16, 52); - refinery.tanks[4].renderTank(guiLeft + 134, guiTop + 70, this.zLevel, 16, 52); + // power + 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) { + + 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 + // func_146110_a lets you set the resolution of the source texture !!!! + // 350x256 texture by behated (the pipes wouldn't fit) + + // pipes + + Tuple.Quintet recipe = RefineryRecipes.getRefinery(inputOil.getTankType()); + + // Heavy Oil Products + Color color = new Color(recipe.getV().type.getColor()); + + 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); + GL11.glDisable(GL11.GL_BLEND); + + // Naphtha Oil Products + color = new Color(recipe.getW().type.getColor()); + + GL11.glEnable(GL11.GL_BLEND); + 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); + GL11.glDisable(GL11.GL_BLEND); + + // Light Oil Products + color = new Color(recipe.getX().type.getColor()); + + GL11.glEnable(GL11.GL_BLEND); + 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); + GL11.glDisable(GL11.GL_BLEND); + + // Gaseous Products + color = new Color(recipe.getY().type.getColor()); + + GL11.glEnable(GL11.GL_BLEND); + 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); + 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); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java index 24ad50e60..e0355c85d 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java @@ -606,7 +606,7 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] setThrottle(Context context, Arguments args) { - throttle = args.checkInteger(0); + powerSliderPos = (int) (args.checkInteger(0) * 60D / 100D); return new Object[] {}; } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityRadioTelex.java b/src/main/java/com/hbm/tileentity/network/TileEntityRadioTelex.java index 4c6ab43d8..26d6dec14 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityRadioTelex.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityRadioTelex.java @@ -300,7 +300,7 @@ public class TileEntityRadioTelex extends TileEntity implements INBTPacketReceiv // this also checks if it's even a string at all if(args.checkAny(i) == null || args.checkString(i).equals("")) this.txBuffer[i] = ""; - if(args.checkString(i).equals("")) { // if it isn't an empty string + if(!args.checkString(i).equals("")) { // if it isn't an empty string if(args.checkString(i).length() > TileEntityRadioTelex.lineWidth) { // line longer than allowed this.txBuffer[i] = args.checkString(i).substring(0, TileEntityRadioTelex.lineWidth); // truncate it } else 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 75f2072e8ad3350f6a6cec7c8e0f1461a4d1b135..6dbf4ffb16d132e7219a706f7b5c2978f805b159 100644 GIT binary patch literal 8584 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 Date: Sun, 11 Aug 2024 22:50:31 -0500 Subject: [PATCH 2/3] shit shit shit shit i forgot something --- .../machine/TileEntityMachineTurbineGas.java | 36 ++++++------------- 1 file changed, 11 insertions(+), 25 deletions(-) diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java index e0355c85d..a03bca0dc 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java @@ -665,41 +665,27 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement public Object[] invoke(String method, Context context, Arguments args) throws Exception { switch(method) { case ("getFluid"): - return new Object[] { - tanks[0].getFill(), tanks[0].getMaxFill(), - tanks[1].getFill(), tanks[1].getMaxFill(), - tanks[2].getFill(), tanks[2].getMaxFill(), - tanks[3].getFill(), tanks[3].getMaxFill() - }; + return getFluid(context, args); case ("getType"): - return new Object[] {tanks[0].getTankType().getName()}; + return getType(context, args); case ("getPower"): - return new Object[] {power}; + return getPower(context, args); case ("getThrottle"): - return new Object[] {throttle}; + return getThrottle(context, args); case ("getState"): - return new Object[] {state}; + return getState(context, args); case ("getAuto"): - return new Object[] {autoMode}; + return getAuto(context, args); case ("setThrottle"): - throttle = args.checkInteger(0); - return new Object[] {}; + return setThrottle(context, args); case ("setAuto"): - autoMode = args.checkBoolean(0); - return new Object[] {}; + return setAuto(context, args); case ("start"): - stopIfNotReady(); - startup(); - return new Object[] {}; + return start(context, args); case ("stop"): - shutdown(); - return new Object[] {}; + return stop(context, args); case ("getInfo"): - return new Object[] {throttle, state, - tanks[0].getFill(), tanks[0].getMaxFill(), - tanks[1].getFill(), tanks[1].getMaxFill(), - tanks[2].getFill(), tanks[2].getMaxFill(), - tanks[3].getFill(), tanks[3].getMaxFill()}; + return getInfo(context, args); } throw new NoSuchMethodException(); } From b98f2350b6e588f2f937c2d9eef53d6b0f715cc2 Mon Sep 17 00:00:00 2001 From: BallOfEnergy <66693744+BallOfEnergy1@users.noreply.github.com> Date: Sun, 11 Aug 2024 23:40:50 -0500 Subject: [PATCH 3/3] man i was stupid (fix another bug with CCGT involving starting/stopping) --- .../hbm/tileentity/machine/TileEntityMachineTurbineGas.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java index a03bca0dc..f7e3349f5 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java @@ -620,15 +620,14 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] start(Context context, Arguments args) { - stopIfNotReady(); - startup(); + state = -1; return new Object[] {}; } @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] stop(Context context, Arguments args) { - shutdown(); + state = 0; return new Object[] {}; }