From e2f308e99538ee41ceae2a1caa3f858a49c59624 Mon Sep 17 00:00:00 2001 From: HbmMods Date: Sun, 7 Jun 2026 19:46:50 +0200 Subject: [PATCH] whuh huh --- changelog | 9 +++++++-- gradle.properties | 2 +- src/main/java/com/hbm/crafting/ArmorRecipes.java | 8 ++++---- .../java/com/hbm/inventory/gui/GUIBlastFurnace.java | 7 ++++--- .../hbm/inventory/recipes/AssemblyMachineRecipes.java | 2 +- src/main/java/com/hbm/lib/RefStrings.java | 2 +- .../tileentity/machine/TileEntityCargoElevator.java | 10 +++++++++- .../machine/TileEntityMachineBlastFurnace.java | 10 ++++++++-- 8 files changed, 35 insertions(+), 15 deletions(-) diff --git a/changelog b/changelog index 33801d324..316a59806 100644 --- a/changelog +++ b/changelog @@ -9,15 +9,20 @@ * Renamed "worker's alloy" to "desh" to avoid confusion * Seriously why did this have two names? * Industrial grade and minecraft grade copper ingots now have the "ingot" suffix +* Changed the microchip assembler recipe duration so that it matches with the demand of one soldering station +* Blast furnace speed with hot air blast can now be increased to 500% (uses the same amount of hot air blast as before) ## Fixed * AUTOCAL * Fixed `listen` command failing if the buffer is empty * Fixed variable substitution failing when there is a trailing $ sign * Fixed concat prefixing all output with "t " for some reason - * Eval(r) now uses a special mod for variable substitution that forces empty variables to be interpreted as "0" + * Eval(r) now uses a special mode for variable substitution that forces empty variables to be interpreted as "0" * Fixed things not intended to be used in the blast furnace (scrap, lava) being usable fuels * Fixed blast furnace swallowing container items left behind by fuels, instead fuels with containers will not be accepted at all * Fixed the blast furnace NEI screen listing "0 HE" for every recipe even though it's not an electric machine * Fixed flue gas not having an inventory texture -* Potentially fixed issue with Angelica where tile entity culling would cause cargo elevators to not render on certain angles \ No newline at end of file +* Potentially fixed issue with Angelica where tile entity culling would cause cargo elevators to not render on certain angles +* Fixed the blast furnace not performing stack size checks correctly, outputting items when it shouldn't +* Fixed cargo elevators not rendering past a distance of 100 blocks +* Fixed cargo elevator syncing range being only 100 blocks, meaning that elevators taller than that don't work properly diff --git a/gradle.properties b/gradle.properties index f70489107..fc85e5e78 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ mod_version=1.0.27 # Empty build number makes a release type -mod_build_number=5714 +mod_build_number=5719 credits=HbMinecraft,\ \ rodolphito (explosion algorithms),\ diff --git a/src/main/java/com/hbm/crafting/ArmorRecipes.java b/src/main/java/com/hbm/crafting/ArmorRecipes.java index 4b2e9e978..0f87f658d 100644 --- a/src/main/java/com/hbm/crafting/ArmorRecipes.java +++ b/src/main/java/com/hbm/crafting/ArmorRecipes.java @@ -63,10 +63,10 @@ public class ArmorRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.t51_plate, 1), new Object[] { "MPM", "TBT", "PPP", 'M', ModItems.motor, 'P', ModItems.plate_armor_titanium, 'T', ModItems.gas_empty, 'B', ModItems.titanium_plate }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.t51_legs, 1), new Object[] { "MPM", "PBP", "P P", 'M', ModItems.motor, 'P', ModItems.plate_armor_titanium, 'B', ModItems.titanium_legs }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.t51_boots, 1), new Object[] { "P P", "PBP", 'P', ModItems.plate_armor_titanium, 'B', ModItems.titanium_boots }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ajr_helmet, 1), new Object[] { "PPC", "PBP", "IXI", 'P', ModItems.plate_armor_ajr, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC), 'I', ANY_PLASTIC.ingot(), 'X', ModItems.gas_mask_m65, 'B', ModItems.alloy_helmet }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ajr_plate, 1), new Object[] { "MPM", "TBT", "PPP", 'M', ModItems.motor_desh, 'P', ModItems.plate_armor_ajr, 'T', ModItems.gas_empty, 'B', ModItems.alloy_plate }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ajr_legs, 1), new Object[] { "MPM", "PBP", "P P", 'M', ModItems.motor_desh, 'P', ModItems.plate_armor_ajr, 'B', ModItems.alloy_legs }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ajr_boots, 1), new Object[] { "P P", "PBP", 'P', ModItems.plate_armor_ajr, 'B', ModItems.alloy_boots }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.ajr_helmet, 1), new Object[] { "PPC", "PBP", "IXI", 'P', ModItems.plate_armor_ajr, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC), 'I', ANY_PLASTIC.ingot(), 'X', ModItems.gas_mask_m65, 'B', ModItems.titanium_helmet }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.ajr_plate, 1), new Object[] { "MPM", "TBT", "PPP", 'M', ModItems.motor_desh, 'P', ModItems.plate_armor_ajr, 'T', ModItems.gas_empty, 'B', ModItems.titanium_plate }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.ajr_legs, 1), new Object[] { "MPM", "PBP", "P P", 'M', ModItems.motor_desh, 'P', ModItems.plate_armor_ajr, 'B', ModItems.titanium_legs }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.ajr_boots, 1), new Object[] { "P P", "PBP", 'P', ModItems.plate_armor_ajr, 'B', ModItems.titanium_boots }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.ajro_helmet, 1), new Object[] { ModItems.ajr_helmet, KEY_RED, KEY_BLACK }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.ajro_plate, 1), new Object[] { ModItems.ajr_plate, KEY_RED, KEY_BLACK }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.ajro_legs, 1), new Object[] { ModItems.ajr_legs, KEY_RED, KEY_BLACK }); diff --git a/src/main/java/com/hbm/inventory/gui/GUIBlastFurnace.java b/src/main/java/com/hbm/inventory/gui/GUIBlastFurnace.java index 565424f91..949957bc1 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIBlastFurnace.java +++ b/src/main/java/com/hbm/inventory/gui/GUIBlastFurnace.java @@ -61,10 +61,11 @@ public class GUIBlastFurnace extends GuiInfoContainer { Minecraft.getMinecraft().getTextureManager().bindTexture(texture); drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); - int prog = (int) Math.round(furnace.progress * 88D); - drawTexturedModalRect(guiLeft + 62, guiTop + 106 - prog, 176, 102 - prog, 56, prog); - int fuel = (int) Math.round((double) furnace.fuel * 26D / (double) furnace.MAX_FUEL); + int prog = (int) Math.round(furnace.progress * (88D - fuel)); + + drawTexturedModalRect(guiLeft + 62, guiTop + 106 - prog - fuel, 176, 102 - prog - fuel, 56, prog); + drawTexturedModalRect(guiLeft + 62, guiTop + 106 - fuel, 176, 128 - fuel, 56, fuel); if(furnace.isProgressing) { diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblyMachineRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblyMachineRecipes.java index 900dcebff..cb22a3c3c 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblyMachineRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblyMachineRecipes.java @@ -121,7 +121,7 @@ public class AssemblyMachineRecipes extends GenericRecipes { // crafting parts if(!GeneralConfig.enable528) { // precass otherwise - this.register(new GenericRecipe("ass.chip").setup(100, 250).outputItems(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP)) + this.register(new GenericRecipe("ass.chip").setup(50, 250).outputItems(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP)) .inputItems(new ComparableStack(ModItems.plate_polymer), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.SILICON), new OreDictStack(GOLD.wireFine()))); this.register(new GenericRecipe("ass.chipBismoid").setup(100, 1_500).outputItems(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP_BISMOID)) .inputItems(new ComparableStack(ModItems.plate_polymer, 2), new ComparableStack(ModItems.circuit, 2, EnumCircuitType.SILICON), new OreDictStack(ANY_BISMOID.nugget()), new OreDictStack(GOLD.wireFine(), 2))); diff --git a/src/main/java/com/hbm/lib/RefStrings.java b/src/main/java/com/hbm/lib/RefStrings.java index 471c12f72..6fb156cc0 100644 --- a/src/main/java/com/hbm/lib/RefStrings.java +++ b/src/main/java/com/hbm/lib/RefStrings.java @@ -3,7 +3,7 @@ package com.hbm.lib; public class RefStrings { public static final String MODID = "hbm"; public static final String NAME = "Hbm's Nuclear Tech Mod"; - public static final String VERSION = "1.0.27 BETA (5714)"; + public static final String VERSION = "1.0.27 BETA (5719)"; //HBM's Beta Naming Convention: //V T (X) //V -> next release version diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCargoElevator.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCargoElevator.java index b4efadd8b..5c9182c70 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCargoElevator.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCargoElevator.java @@ -7,6 +7,8 @@ import com.hbm.blocks.ModBlocks; import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.util.Compat; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; @@ -60,7 +62,7 @@ public class TileEntityCargoElevator extends TileEntityLoadedBase { // exist for at least one tick before the main portion gets rendered, fixes the short flickering platform that instantly despawns renderPlatform = true; - this.networkPackNT(100); + this.networkPackNT(300); } else { if(this.sync > 0) { @@ -158,4 +160,10 @@ public class TileEntityCargoElevator extends TileEntityLoadedBase { return bb; } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBlastFurnace.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBlastFurnace.java index 4554f158f..bd67f3358 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBlastFurnace.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBlastFurnace.java @@ -87,9 +87,9 @@ public class TileEntityMachineBlastFurnace extends TileEntityMachineBase impleme this.speed = 0F; GenericRecipe recipe = BlastFurnaceRecipesNT.INSTANCE.getRecipe(slots[1], slots[2]); - if(!this.tilted && recipe != null && this.fuel >= FUEL_RATE && this.canOutput(recipe)) { + if(!this.tilted && recipe != null && this.fuel >= FUEL_RATE && this.hasQuantities(recipe) && this.canOutput(recipe)) { - this.speed = MathHelper.clamp_float(0.5F + this.tanks[0].getFill() * 4F / this.tanks[0].getMaxFill(), 0.5F, 3F); + this.speed = MathHelper.clamp_float(0.5F + this.tanks[0].getFill() * 8F / this.tanks[0].getMaxFill(), 0.5F, 5F); this.isProgressing = true; this.progress += speed / recipe.duration; @@ -158,6 +158,12 @@ public class TileEntityMachineBlastFurnace extends TileEntityMachineBase impleme }; } + public boolean hasQuantities(GenericRecipe recipe) { + if(recipe.inputItem[0].matchesRecipe(slots[1], false) && recipe.inputItem[1].matchesRecipe(slots[2], false)) return true; + if(recipe.inputItem[0].matchesRecipe(slots[2], false) && recipe.inputItem[1].matchesRecipe(slots[1], false)) return true; + return false; + } + public boolean canOutput(GenericRecipe recipe) { for(int i = 0; i < recipe.outputItem.length; i++) {