From c3e532ab33791b6aaa717c6830a65b4200c9e9be Mon Sep 17 00:00:00 2001 From: Boblet Date: Fri, 21 Feb 2025 15:18:45 +0100 Subject: [PATCH] good god - we gonna rock down to electric avenue --- changelog | 1 + .../java/api/hbm/energymk2/PowerNetMK2.java | 2 +- .../java/com/hbm/main/CraftingManager.java | 6 +-- .../java/com/hbm/qmaw/IManualElement.java | 9 ---- src/main/java/com/hbm/qmaw/ManualElement.java | 12 +++++ .../hbm/qmaw/components/QComponentText.java | 44 +++++++++++++++++++ 6 files changed, 61 insertions(+), 13 deletions(-) delete mode 100644 src/main/java/com/hbm/qmaw/IManualElement.java create mode 100644 src/main/java/com/hbm/qmaw/ManualElement.java create mode 100644 src/main/java/com/hbm/qmaw/components/QComponentText.java diff --git a/changelog b/changelog index c8853896b..53eb3e3ae 100644 --- a/changelog +++ b/changelog @@ -5,6 +5,7 @@ * Dense coils no longer have recipes either for the most part, all coils with no recipes can be recycled back into dense wires * Natural gas can now be processed in a pyrolysis oven, 12k of gas yields 8k hydrogen and one graphite ingot * Saturnite now has an alternate recipe, adding one pile of borax for doubled output +* All mass storage units (except wood) are now substantially cheaper ## Fixed * Fixed an issue where `/ntmreload` would load fluids after recipes, meaning that recipes using newly added fluids would not work correctly, as the fluids don't exist by the time the recipe is loaded diff --git a/src/main/java/api/hbm/energymk2/PowerNetMK2.java b/src/main/java/api/hbm/energymk2/PowerNetMK2.java index 8afc59890..4422cc138 100644 --- a/src/main/java/api/hbm/energymk2/PowerNetMK2.java +++ b/src/main/java/api/hbm/energymk2/PowerNetMK2.java @@ -170,7 +170,7 @@ public class PowerNetMK2 { toTransfer -= energyUsed; } - + this.energyTracker += energyUsed; long leftover = energyUsed; diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index c1cc4e40c..dd130b852 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -271,9 +271,9 @@ public class CraftingManager { // Note: voids the last few slots when placed, because a safe's inventory is smaller than a crate's one GameRegistry.addRecipe(new ContainerUpgradeCraftingHandler(new ItemStack(ModBlocks.safe, 1), new Object[] { "LAL", "ACA", "LAL", 'L', PB.plate(), 'A', ALLOY.plate(), 'C', ModBlocks.crate_steel })); // Note: doesn't preserve storage because a crate's contents are different items, but a mass storage's is just one - addRecipeAuto(new ItemStack(ModBlocks.mass_storage, 1, 0), new Object[] { "ICI", "CLC", "ICI", 'I', TI.ingot(), 'C', ModBlocks.crate_steel, 'L', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.VACUUM_TUBE) }); - GameRegistry.addRecipe(new ContainerUpgradeCraftingHandler(new ItemStack(ModBlocks.mass_storage, 1, 1), new Object[] { "PCP", "PMP", "PPP", 'P', DESH.ingot(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP), 'M', new ItemStack(ModBlocks.mass_storage, 1, 0) })); - GameRegistry.addRecipe(new ContainerUpgradeCraftingHandler(new ItemStack(ModBlocks.mass_storage, 1, 2), new Object[] { "PCP", "PMP", "PPP", 'P', ANY_RESISTANTALLOY.ingot(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), 'M', new ItemStack(ModBlocks.mass_storage, 1, 1) })); + addRecipeAuto(new ItemStack(ModBlocks.mass_storage, 1, 0), new Object[] { " L ", "ICI", " I ", 'I', TI.ingot(), 'C', ModBlocks.crate_steel, 'L', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.VACUUM_TUBE) }); + GameRegistry.addRecipe(new ContainerUpgradeCraftingHandler(new ItemStack(ModBlocks.mass_storage, 1, 1), new Object[] { " C ", "PMP", " P ", 'P', DESH.ingot(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP), 'M', new ItemStack(ModBlocks.mass_storage, 1, 0) })); + GameRegistry.addRecipe(new ContainerUpgradeCraftingHandler(new ItemStack(ModBlocks.mass_storage, 1, 2), new Object[] { " C ", "PMP", " P ", 'P', ANY_RESISTANTALLOY.ingot(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), 'M', new ItemStack(ModBlocks.mass_storage, 1, 1) })); addRecipeAuto(new ItemStack(ModBlocks.mass_storage, 1, 3), new Object[] { "PPP", "PIP", "PPP", 'P', KEY_PLANKS, 'I', IRON.plate() }); addRecipeAuto(new ItemStack(ModBlocks.machine_autocrafter, 1), new Object[] { "SCS", "MWM", "SCS", 'S', STEEL.plate(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.VACUUM_TUBE), 'M', ModItems.motor, 'W', Blocks.crafting_table }); diff --git a/src/main/java/com/hbm/qmaw/IManualElement.java b/src/main/java/com/hbm/qmaw/IManualElement.java deleted file mode 100644 index e981ad87a..000000000 --- a/src/main/java/com/hbm/qmaw/IManualElement.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.hbm.qmaw; - -public interface IManualElement { - - public int getWidth(); - public int getHeight(); - public void render(boolean isMouseOver, int mouseX, int mouseY); - public void onClick(); -} diff --git a/src/main/java/com/hbm/qmaw/ManualElement.java b/src/main/java/com/hbm/qmaw/ManualElement.java new file mode 100644 index 000000000..f878bf8ae --- /dev/null +++ b/src/main/java/com/hbm/qmaw/ManualElement.java @@ -0,0 +1,12 @@ +package com.hbm.qmaw; + +public abstract class ManualElement { + + public int x; + public int y; + + public abstract int getWidth(); + public abstract int getHeight(); + public abstract void render(boolean isMouseOver, int mouseX, int mouseY); + public abstract void onClick(); +} diff --git a/src/main/java/com/hbm/qmaw/components/QComponentText.java b/src/main/java/com/hbm/qmaw/components/QComponentText.java new file mode 100644 index 000000000..fd06d1150 --- /dev/null +++ b/src/main/java/com/hbm/qmaw/components/QComponentText.java @@ -0,0 +1,44 @@ +package com.hbm.qmaw.components; + +import com.hbm.qmaw.ManualElement; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.FontRenderer; + +public class QComponentText extends ManualElement { + + protected String text; + protected FontRenderer font; + protected int color = 0xFFFFFF; + + public QComponentText(String text) { + this(text, Minecraft.getMinecraft().fontRenderer); + } + + public QComponentText(String text, FontRenderer font) { + this.text = text; + this.font = font; + } + + public QComponentText setColor(int color) { + this.color = color; + return this; + } + + @Override + public int getWidth() { + return font.getStringWidth(text); + } + + @Override + public int getHeight() { + return font.FONT_HEIGHT; + } + + @Override + public void render(boolean isMouseOver, int mouseX, int mouseY) { + font.drawString(text, x, y, color); + } + + @Override public void onClick() { } +}