From 130a33c13f973947a84ce461a8abfe99a27330bf Mon Sep 17 00:00:00 2001 From: oTurquoise Date: Tue, 24 Mar 2026 19:48:08 +0000 Subject: [PATCH 1/9] Fixed Throughput Boosting Typo and altered modifiers for tpb and bulk --- .../hellforge/StarTHellForgeMachines.java | 2 +- .../recipe/StarTRecipeModifiers.java | 42 ++++++++----------- 2 files changed, 19 insertions(+), 25 deletions(-) diff --git a/src/main/java/com/startechnology/start_core/machine/hellforge/StarTHellForgeMachines.java b/src/main/java/com/startechnology/start_core/machine/hellforge/StarTHellForgeMachines.java index 90db8c1..fe6f3a2 100644 --- a/src/main/java/com/startechnology/start_core/machine/hellforge/StarTHellForgeMachines.java +++ b/src/main/java/com/startechnology/start_core/machine/hellforge/StarTHellForgeMachines.java @@ -122,7 +122,7 @@ public class StarTHellForgeMachines { Component.translatable("block.start_core.fornaxs_infernal_rotary_engine_rm"), Component.translatable("start_core.added_by_tooltip") ) - .recipeModifiers(GTRecipeModifiers.OC_NON_PERFECT, StarTRecipeModifiers.HELL_FORGE_OC, StarTRecipeModifiers.THOUGHPUT_BOOSTING, GTRecipeModifiers.BATCH_MODE) + .recipeModifiers(GTRecipeModifiers.OC_NON_PERFECT, StarTRecipeModifiers.HELL_FORGE_OC, StarTRecipeModifiers.THROUGHPUT_BOOSTING, GTRecipeModifiers.BATCH_MODE) .rotationState(RotationState.NON_Y_AXIS) .recipeTypes(StarTRecipeTypes.HELL_FORGE_RECIPES) .pattern(definition -> FactoryBlockPattern.start() diff --git a/src/main/java/com/startechnology/start_core/recipe/StarTRecipeModifiers.java b/src/main/java/com/startechnology/start_core/recipe/StarTRecipeModifiers.java index e92b168..f9c41c1 100644 --- a/src/main/java/com/startechnology/start_core/recipe/StarTRecipeModifiers.java +++ b/src/main/java/com/startechnology/start_core/recipe/StarTRecipeModifiers.java @@ -1,15 +1,12 @@ package com.startechnology.start_core.recipe; import com.gregtechceu.gtceu.api.machine.MetaMachine; -import com.gregtechceu.gtceu.api.machine.feature.multiblock.IMultiController; -import com.gregtechceu.gtceu.api.machine.feature.multiblock.IMultiPart; import com.gregtechceu.gtceu.api.recipe.GTRecipe; import com.gregtechceu.gtceu.api.recipe.content.ContentModifier; import com.gregtechceu.gtceu.api.recipe.modifier.ModifierFunction; import com.gregtechceu.gtceu.api.recipe.modifier.ParallelLogic; import com.gregtechceu.gtceu.api.recipe.modifier.RecipeModifier; import com.gregtechceu.gtceu.common.data.GTRecipeModifiers; -import com.gregtechceu.gtceu.common.machine.multiblock.electric.AssemblyLineMachine; import com.gregtechceu.gtceu.common.machine.multiblock.generator.LargeTurbineMachine; import com.startechnology.start_core.machine.boosting.BoostedPlasmaTurbine; import com.startechnology.start_core.machine.hellforge.StarTHellForgeMachine; @@ -17,8 +14,6 @@ import com.startechnology.start_core.machine.threading.StarTThreadingCapableMachine; import com.startechnology.start_core.machine.vcrc.VacuumChemicalReactionChamberMachine; -import java.util.Comparator; - public class StarTRecipeModifiers { public static final RecipeModifier ABSOLUTE_PARALLEL = GTRecipeModifiers::hatchParallel; @@ -56,19 +51,18 @@ public static ModifierFunction hellforgeOverclock(MetaMachine machine, GTRecipe public static final RecipeModifier BULK_PROCESSING = StarTRecipeModifiers::bulkThroughputProcessing; public static ModifierFunction bulkThroughputProcessing(MetaMachine machine, GTRecipe recipe) { - // Bulks at 4n:3n up to bulkLimit = 4n - var bulkLimit = 64; - var maxBulking = ParallelLogic.getParallelAmountWithoutEU(machine, recipe, bulkLimit); - var timesBulkingApplied = maxBulking / 4; + int maxBulk = 16; + int throughputModifier = 16; + int durationModifier = 13; + + var parallelsAvailable = Math.max(0, ParallelLogic.getParallelAmountWithoutEU(machine, recipe, maxBulk)); - var thoughputBulkingApplied = timesBulkingApplied * 4; - var durationBulkingApplied = timesBulkingApplied * 3; + if (parallelsAvailable >= maxBulk) { - if (timesBulkingApplied >= 1) { return ModifierFunction.builder() - .modifyAllContents(ContentModifier.multiplier(thoughputBulkingApplied)) - .durationMultiplier(durationBulkingApplied) - .parallels(thoughputBulkingApplied) + .modifyAllContents(ContentModifier.multiplier(throughputModifier)) + .durationMultiplier(durationModifier) + .parallels(throughputModifier) .build(); } @@ -76,22 +70,22 @@ public static ModifierFunction bulkThroughputProcessing(MetaMachine machine, GTR } - public static final RecipeModifier THOUGHPUT_BOOSTING = StarTRecipeModifiers::thoughputBoosting; + public static final RecipeModifier THROUGHPUT_BOOSTING = StarTRecipeModifiers::throughputBoosting; - public static ModifierFunction thoughputBoosting(MetaMachine machine, GTRecipe recipe) { - int thoughputModifier = 4; - double durationModifier = 1.4; - double eutModifier = 0.9; + public static ModifierFunction throughputBoosting(MetaMachine machine, GTRecipe recipe) { + int throughputModifier = 4; + double durationModifier = 1.6; + double eutModifier = 0.95; - int parallelsAvailable = Math.max(0, ParallelLogic.getParallelAmountWithoutEU(machine, recipe, thoughputModifier)); + int parallelsAvailable = Math.max(0, ParallelLogic.getParallelAmountWithoutEU(machine, recipe, throughputModifier)); - if (parallelsAvailable >= thoughputModifier) { + if (parallelsAvailable >= throughputModifier) { return ModifierFunction.builder() - .modifyAllContents(ContentModifier.multiplier(thoughputModifier)) + .modifyAllContents(ContentModifier.multiplier(throughputModifier)) .durationMultiplier(durationModifier) .eutMultiplier(eutModifier) - .parallels(thoughputModifier) + .parallels(throughputModifier) .build(); } From d28cefcb0c631c5c7bbb34379abcff5d2be6ccbc Mon Sep 17 00:00:00 2001 From: oTurquoise Date: Tue, 24 Mar 2026 19:58:20 +0000 Subject: [PATCH 2/9] Removed unnecessary variable --- .../start_core/recipe/StarTRecipeModifiers.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/startechnology/start_core/recipe/StarTRecipeModifiers.java b/src/main/java/com/startechnology/start_core/recipe/StarTRecipeModifiers.java index f9c41c1..75aad21 100644 --- a/src/main/java/com/startechnology/start_core/recipe/StarTRecipeModifiers.java +++ b/src/main/java/com/startechnology/start_core/recipe/StarTRecipeModifiers.java @@ -51,13 +51,12 @@ public static ModifierFunction hellforgeOverclock(MetaMachine machine, GTRecipe public static final RecipeModifier BULK_PROCESSING = StarTRecipeModifiers::bulkThroughputProcessing; public static ModifierFunction bulkThroughputProcessing(MetaMachine machine, GTRecipe recipe) { - int maxBulk = 16; int throughputModifier = 16; int durationModifier = 13; - var parallelsAvailable = Math.max(0, ParallelLogic.getParallelAmountWithoutEU(machine, recipe, maxBulk)); + var parallelsAvailable = Math.max(0, ParallelLogic.getParallelAmountWithoutEU(machine, recipe, throughputModifier)); - if (parallelsAvailable >= maxBulk) { + if (parallelsAvailable >= throughputModifier) { return ModifierFunction.builder() .modifyAllContents(ContentModifier.multiplier(throughputModifier)) From 02b7cbcb76d6a8675aa52c4fe85c7c5c1f36b098 Mon Sep 17 00:00:00 2001 From: n1xx1 Date: Wed, 25 Mar 2026 01:23:00 +0100 Subject: [PATCH 3/9] Readd missing ParallelHatchPartMachineAccessor mixin --- src/main/resources/start_core.mixins.json | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/resources/start_core.mixins.json b/src/main/resources/start_core.mixins.json index a7e977e..e9b7f7a 100644 --- a/src/main/resources/start_core.mixins.json +++ b/src/main/resources/start_core.mixins.json @@ -13,6 +13,7 @@ "MEPatternBufferPartMachineMixin", "MultiblockControllerMachineMixin", "ParallelHatchPartMachineMixin", + "ParallelHatchPartMachineAccessor", "ResearchManagerDataItemMixin", "WireRecipeHandlerMixin" ], From c5fc944af821be5478b3589e8b79f3218efe453d Mon Sep 17 00:00:00 2001 From: oTurquoise Date: Wed, 25 Mar 2026 00:38:38 +0000 Subject: [PATCH 4/9] Readded missing mixins --- src/main/resources/start_core.mixins.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/resources/start_core.mixins.json b/src/main/resources/start_core.mixins.json index e9b7f7a..de2ea46 100644 --- a/src/main/resources/start_core.mixins.json +++ b/src/main/resources/start_core.mixins.json @@ -4,18 +4,22 @@ "compatibilityLevel": "JAVA_17", "minVersion": "0.8", "mixins": [ + "CustomStackTooltipsHandlerMixin", "EmiApiMixin", + "FluidDrillMachineMixin", "FluidHatchPartMachineMixin", "FusionEnergyPowerMixin", "GTRecipeJSMixin", + "GTRecipeModifiersMixin", "MaintenanceHatchPartMachineMixin", "MaterialRecipeHandlerMixin", "MEPatternBufferPartMachineMixin", "MultiblockControllerMachineMixin", - "ParallelHatchPartMachineMixin", "ParallelHatchPartMachineAccessor", + "ParallelHatchPartMachineMixin", "ResearchManagerDataItemMixin", - "WireRecipeHandlerMixin" + "WireRecipeHandlerMixin", + "WorkableElectricMultiblockMachineMixin" ], "client": [ "CustomStackTooltipsHandlerMixin" From 64f06e4f976b2bd66337596ac9f3f8288f10fe2c Mon Sep 17 00:00:00 2001 From: stellaurora Date: Wed, 25 Mar 2026 19:00:00 +1100 Subject: [PATCH 5/9] add fornaxs changes as per task board --- .../jade/provider/StarTHellforgeProvider.java | 8 ++- .../hellforge/StarTHellForgeMachine.java | 37 +++++++++--- .../hellforge/StarTHellForgeMachines.java | 56 +++++++++++-------- .../recipe/StarTRecipeModifiers.java | 2 +- .../assets/start_core/lang/en_us.json | 13 ++++- 5 files changed, 78 insertions(+), 38 deletions(-) diff --git a/src/main/java/com/startechnology/start_core/integration/jade/provider/StarTHellforgeProvider.java b/src/main/java/com/startechnology/start_core/integration/jade/provider/StarTHellforgeProvider.java index 8e2ccf4..0c4d7d4 100644 --- a/src/main/java/com/startechnology/start_core/integration/jade/provider/StarTHellforgeProvider.java +++ b/src/main/java/com/startechnology/start_core/integration/jade/provider/StarTHellforgeProvider.java @@ -45,17 +45,19 @@ public StarTHellforgeProvider() { /* Used for storing data for the addTooltip method ? */ @Override protected void write(CompoundTag data, StarTHellForgeMachine capability) { - data.putInt("temperature", capability.getCrucibleTemperature()); + data.putInt("temperature", capability.getTemperature()); + data.putString("uiKey", capability.getCrucibleUIKey()); } /* Adds a new tooltip under the Jade stuff */ @Override protected void addTooltip(CompoundTag capData, ITooltip tooltip, Player player, BlockAccessor block, BlockEntity blockEntity, IPluginConfig config) { - if (capData.contains("temperature")) + if (capData.contains("temperature") && capData.contains("uiKey")) { Integer temperature = capData.getInt("temperature"); - tooltip.add(Component.translatable("ui.start_core.hellforge_crucible", temperature)); + String uiKey = capData.getString("uiKey"); + tooltip.add(Component.translatable(uiKey, temperature)); } } diff --git a/src/main/java/com/startechnology/start_core/machine/hellforge/StarTHellForgeMachine.java b/src/main/java/com/startechnology/start_core/machine/hellforge/StarTHellForgeMachine.java index 9dcd45d..0e54b40 100644 --- a/src/main/java/com/startechnology/start_core/machine/hellforge/StarTHellForgeMachine.java +++ b/src/main/java/com/startechnology/start_core/machine/hellforge/StarTHellForgeMachine.java @@ -19,6 +19,7 @@ import com.startechnology.start_core.machine.redstone.StarTRedstoneIndicatorRecord; import com.startechnology.start_core.materials.StarTHellForgeHeatingLiquids; +import lombok.Getter; import net.minecraft.ChatFormatting; import net.minecraft.network.chat.Component; import net.minecraftforge.fluids.FluidStack; @@ -32,16 +33,28 @@ public class StarTHellForgeMachine extends WorkableElectricMultiblockMachine imp WorkableElectricMultiblockMachine.MANAGED_FIELD_HOLDER); @Persisted + @Getter protected Integer temperature; + /* The hell forge cannot go below this base Temperature */ + @Getter + private Integer baseTemperature; + + private Integer baseTempLoss; + private Integer dormantTempLoss; + protected TickableSubscription tryTickSub; private boolean startHeatLoss; private boolean isWorking; - public StarTHellForgeMachine(IMachineBlockEntity holder, Object... args) { + public StarTHellForgeMachine(IMachineBlockEntity holder, Integer baseTemperature, Integer baseTempLoss, Integer dormantTempLoss, Object... args) { super(holder, args); - this.temperature = 0; + this.temperature = baseTemperature; + this.baseTemperature = baseTemperature; + this.baseTempLoss = baseTempLoss; + this.dormantTempLoss = dormantTempLoss; + this.startHeatLoss = false; this.isWorking = false; } @@ -72,11 +85,21 @@ public void onStructureInvalid() { this.isWorking = false; } + public String getCrucibleUIKey() { + String uiKey = "ui.start_core.hellforge_crucible"; + if (baseTemperature > 0) { + uiKey = "ui.start_core.fornaxs_crucible"; + } + + return uiKey; + } + @Override public void addDisplayText(List textList) { super.addDisplayText(textList); + textList.add( - Component.translatable("ui.start_core.hellforge_crucible", this.temperature)); + Component.translatable(getCrucibleUIKey(), this.temperature)); } /** @@ -142,9 +165,9 @@ protected void tryRemoveHeat() { boolean machineActive = getRecipeLogic().isWorking(); if (machineActive) { - this.temperature = Math.max(this.temperature - 5, 0); + this.temperature = Math.max(this.temperature - baseTempLoss, baseTemperature); } else { - this.temperature = Math.max(this.temperature - 125, 0); + this.temperature = Math.max(this.temperature - dormantTempLoss, baseTemperature); } this.temperatureChanged(); @@ -203,10 +226,6 @@ public void afterWorking() { } } - public Integer getCrucibleTemperature() { - return this.temperature; - } - public double redstonePercentageOfTemp(double temperature) { return Math.min((this.temperature / ((double) temperature)) * 15.0, 15.0); } diff --git a/src/main/java/com/startechnology/start_core/machine/hellforge/StarTHellForgeMachines.java b/src/main/java/com/startechnology/start_core/machine/hellforge/StarTHellForgeMachines.java index 90db8c1..6bff1d5 100644 --- a/src/main/java/com/startechnology/start_core/machine/hellforge/StarTHellForgeMachines.java +++ b/src/main/java/com/startechnology/start_core/machine/hellforge/StarTHellForgeMachines.java @@ -28,7 +28,7 @@ public class StarTHellForgeMachines { public static final MultiblockMachineDefinition HELL_FORGE = START_REGISTRATE - .multiblock("hellforge", StarTHellForgeMachine::new) + .multiblock("hellforge", holder -> (new StarTHellForgeMachine(holder, 0, 5, 125))) .appearanceBlock(() -> StarTMachineUtils.getKjsBlock(("extreme_temperature_smelting_casing"))) .langValue("Hell Forge") .tooltips( @@ -97,24 +97,24 @@ public class StarTHellForgeMachines { .register(); public static final MultiblockMachineDefinition BOOSTED_HELL_FORGE = START_REGISTRATE - .multiblock("fornaxs_infernal_rotary_engine", StarTHellForgeMachine::new) + .multiblock("fornaxs_infernal_rotary_engine", holder -> (new StarTHellForgeMachine(holder, 925, 3, 75))) .appearanceBlock(() -> StarTMachineUtils.getKjsBlock(("absolute_temperature_smelting_casing"))) .langValue("Fornaxs Infernal Rotary Engine") .tooltips( - Component.translatable("block.start_core.hellforge_multiblock_line"), - Component.translatable("block.start_core.hellforge_description"), + Component.translatable("block.start_core.fornaxs_infernal_rotary_engine_line"), + Component.translatable("block.start_core.fornaxs_infernal_rotary_engine_description"), Component.translatable("block.start_core.breaker_line"), - Component.translatable("block.start_core.hellforge_d0"), - Component.translatable("block.start_core.hellforge_d1"), + Component.translatable("block.start_core.fornaxs_infernal_rotary_engine_d0"), + Component.translatable("block.start_core.fornaxs_infernal_rotary_engine_d1"), Component.literal(""), - Component.translatable("block.start_core.hellforge_d2"), + Component.translatable("block.start_core.fornaxs_infernal_rotary_engine_d2"), Component.literal(""), - Component.translatable("block.start_core.hellforge_d9"), + Component.translatable("block.start_core.fornaxs_infernal_rotary_engine_d9"), Component.literal(""), - Component.translatable("block.start_core.hellforge_d3"), + Component.translatable("block.start_core.fornaxs_infernal_rotary_engine_d3"), Component.translatable("block.start_core.breaker_line"), - Component.translatable("block.start_core.hellforge_d5"), - Component.translatable("block.start_core.hellforge_d6"), + Component.translatable("block.start_core.fornaxs_infernal_rotary_engine_d5"), + Component.translatable("block.start_core.fornaxs_infernal_rotary_engine_d6"), Component.translatable("block.start_core.breaker_line"), Component.translatable("machine.start_core.redstone_interfacing"), Component.translatable("block.start_core.hellforge_d8"), @@ -126,19 +126,27 @@ public class StarTHellForgeMachines { .rotationState(RotationState.NON_Y_AXIS) .recipeTypes(StarTRecipeTypes.HELL_FORGE_RECIPES) .pattern(definition -> FactoryBlockPattern.start() - .aisle(" B B ", " B B ", " B B ", " B B ", " BBBBB ", " CCCCC ", " ", " ", " ", " D ", " DDDDD ", " D ", " ", " ", " ", " CCCCC ", " BBBBB ", " ", " BBBBB ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " E ", " E ", " E ", " ") - .aisle(" B BBBBB B ", " B FEEEF B ", " B FEGEF B ", " B FEEEF B ", " BBBBBBBBBBB ", " CCCEEEEECCC ", " EEEEE ", " EEE ", " ", " ", " DD DD ", " ", " ", " EEE ", " EEEEE ", " CCCEEEEECCC ", " BBBHHHHHBBB ", " FFFFF ", " BBB BBB ", " ", " ", " ", " ", " ", " ", " ", " ", " E ", " E E ", " E E ", " E ", " E ") - .aisle(" BBFBBBFBB ", " FF FF ", " FF FF ", " FF FF ", " BBBFFFFFBBB ", " CHHHHHHHHHC ", " HHHHHHHHH ", " HHEHH ", " E E ", " ", " D D ", " ", " E E ", " HHEHH ", " HHHHHHHHH ", " CHHHHHHHHHC ", " BHHIIIIIHHB ", " FF FF ", " B B ", " ", " ", " ", " DDDDD ", " ", " ", " ", " E E ", " E E E ", " ", " ", " E ", " E ") - .aisle(" BFFBBBFFB ", " F III F ", " F III F ", " F III F ", " BBFFIIIFFBB ", " CHHHIIIHHHC ", " HHHIIIHHH ", " HHIIIHH ", " HHJJJHH ", " HE J EH ", " D E E D ", " HE J EH ", " HHJJJHH ", " HHIIIHH ", " HHHIIIHHH ", " CHHHIIIHHHC ", " BHIIIIIIIHB ", " F JJJ F ", " B IKI B ", " JJJ ", " ", " ", " D D ", " ", " ", " E E ", " EEHEH ", " E ", " E ", " E ", " ", " ") - .aisle("BBFFBBBBBFFBB", "BF GIFIG FB", "BF GJ JG FB", "BF GJ JG FB", "BBFFG GFFBB", "CEHHG GHHEC", " EHHG GHHE ", " HHG GHH ", " HGBCBGH ", " EGBJBGE ", "D EGBLBGE D", " EGBJBGE ", " HGBCBGH ", " HHG GHH ", " EHHG GHHE ", "CEHHG GHHEC", "BHIIG GIIHB", " F JJ JJ F ", "B IJ JI B", " JEBEJ ", " JEBEJ ", " EBE ", " D EBH D ", " EBE ", " EBE ", " EEEEE ", " HEEEEE ", " E ", " ", " ", " E ", " ") - .aisle(" BFBBBBBBBFB ", " E IIIIIII E ", " E IJ JI E ", " E IJ JI E ", "BBFI IFBB", "CEHI IHEC", " EHI IHE ", " EHI IHE ", " EJB C BJE ", " B B ", "D B B D", " B B ", " EJB C BJE ", " EHI IHE ", " EHI IHE ", "CEHI IHEC", "BHII IIHB", " F JJ JJ F ", "B IJ JI B", " JE EJ ", " E B E ", " E E ", " D E E D ", " H E ", " EEEEE ", " EBBBEE ", " HE ", " ", " ", " ", " ", " ") - .aisle(" BFBBBBBBBFB ", " E IFIIIFI E ", " G I G I G ", " E I G I E ", "BBFI G IFBB", "CEHI G IHEC", " EHI IHE ", " EEI IEE ", " JCCECCJ ", "D JJ E JJ D", "D L M L D", "D JJ E JJ D", " JCCECCJ ", " EEI IEE ", " EHI IHE ", "CEHI IHEC", "BHII IIHB", " F J J F ", "B K K B", " JB BJ ", " B B B ", " B B B ", " D B B D ", " B B ", " BEEEB ", " BBBEE ", " ", " ", " D ", " DDD ", " DDD ", " D ") - .aisle(" BFBBBBBBBFB ", " E IIIIIII E ", " E IJ JI E ", " E IJ JI E ", "BBFI IFBB", "CEHI IHEC", " EHI IHE ", " EHI IHE ", " EJB C BJE ", " B B ", "D B B D", " B B ", " EJB C BJE ", " EHI IHE ", " EHI IHE ", "CEHI IHEC", "BHII IIHB", " F JJ JJ F ", "B IJ JI B", " JE EJ ", " E E ", " E E ", " D E E D ", " H H ", " EEBEEE ", " HEE ", " EE ", " E ", " E ", " ", " ", " ") - .aisle("BBFFBBBBBFFBB", "BF GIFIG FB", "BF GJ JG FB", "BF GJ JG FB", "BBFFG GFFBB", "CEHHG GHHEC", " EHHG GHHE ", " HHG GHH ", " HGBCBGH ", " EGBJBGE ", "D EGBLBGE D", " EGBJBGE ", " HGBCBGH ", " HHG GHH ", " EHHG GHHE ", "CEHHG GHHEC", "BHIIG GIIHB", " F JJ JJ F ", "B IJ JI B", " JEBEJ ", " JEBEJ ", " EBE ", " D HBE D ", " EBE ", " EBE ", " ", " ", " ", " ", " ", " ", " ") - .aisle(" BFFBBBFFB ", " F III F ", " F III F ", " F III F ", " BBFFIIIFFBB ", " CHHHIIIHHHC ", " HHHIIIHHH ", " HHIIIHH ", " HHJJJHH ", " HE J EH ", " D E E D ", " HE J EH ", " HHJJJHH ", " HHIIIHH ", " HHHIIIHHH ", " CHHHIIIHHHC ", " BHIIIIIIIHB ", " F JJJ F ", " B IKI B ", " JJJ ", " ", " ", " D D ", " ", " ", " ", " ", " ", " ", " ", " ", " ") - .aisle(" BBFFFFFBB ", " FF FF ", " FF FF ", " FF FF ", " BBBFFFFFBBB ", " CHHHHHHHHHC ", " HHHHHHHHH ", " HHEHH ", " E E ", " ", " D D ", " ", " E E ", " HHEHH ", " HHHHHHHHH ", " CHHHHHHHHHC ", " BHHIIIIIHHB ", " FF FF ", " B B ", " ", " ", " ", " DDDDD ", " ", " ", " ", " ", " ", " ", " ", " ", " ") - .aisle(" B BBBBB B ", " B FEEEF B ", " B FE@EF B ", " B FEEEF B ", " BBBBBBBBBBB ", " CCCEEEEECCC ", " EEEEE ", " EEE ", " ", " ", " DD DD ", " ", " ", " EEE ", " EEEEE ", " CCCEEEEECCC ", " BBBHHHHHBBB ", " FFFFF ", " BBB BBB ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ") - .aisle(" B B ", " B B ", " B B ", " B B ", " BBBBB ", " CCCCC ", " ", " ", " ", " D ", " DDDDD ", " D ", " ", " ", " ", " CCCCC ", " BBBBB ", " ", " BBBBB ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ") + .aisle(" BCB ", " B B ", " B B ", " B B ", " B B ", " D D ", " ", " ", " E ", " E ", " EEE ", " E E ", " EEE ", " E ", " E ", " ", " ", " D D ", " B B ", " B B ", " B B ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ") + .aisle(" BBBBBBB ", " B B ", " B B ", " B B ", " BBBBBBB ", " DDDDDDD ", " ", " ", " ", " ", " E ", " EEE EEE ", " E ", " ", " ", " ", " ", " DDDDDDD ", " BBBBBBB ", " ", " BBBBBBB ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ") + .aisle(" BBBCCCCCBBB ", " B CFCFC B ", " B CGCGC B ", " B CFCFC B ", " BBBCCCCCBBB ", " DDDCCCCCDDD ", " CCCCC ", " CCC ", " ", " ", " ", " EE EE ", " ", " ", " ", " CCC ", " CCCCC ", " DDDCCCCCDDD ", " BBBHHHHHBBB ", " IIIII ", " BBB BBB ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ") + .aisle(" BBBCCCCCCCCCBBB ", " B IICCCCCII B ", " B IICCJCCII B ", " B IICCCCCII B ", " BBBCCCCCCCCCBBB ", " DDDHCCCCCCCHDDD ", " HCCCCCCCH ", " CCCCC ", " E CCC E ", " E E ", " EE EE ", " E E ", " EE EE ", " E E ", " E CCC E ", " CCCCC ", " HCCCCCCCH ", " DDDHCCCCCCCHDDD ", " BBBHHHKJKHHHBBB ", " B III III B ", " BBB BBB ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ") + .aisle(" BCCCCCCCCCCCCCB ", " FGCC CCGF ", " KJCC J CCJK ", " FGCC CCGF ", " BCCCCBBBBBCCCCB ", " DHHHCCCCCCCHHHD ", " HHHCCCCCCCHHH ", " HHCCCCCHH ", " HHCCCHH ", " H H ", " E E ", " E E ", " E E ", " H H ", " HHCCCHH ", " HHCCCCCHH ", " HHHCCCCCCCHHH ", " DHHHCCCCCCCHHHD ", " BHHHKJFFFJKHHHB ", " III III ", " B B ", " ", " ", " E ", " EEEEE ", " E ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ") + .aisle(" BBCCCCIIIIICCCCBB ", " B GCC CCG B ", " B JJC J CJJ B ", " B GCC CCG B ", " BBCCBBB BBBCCBB ", " DDHHCCC CCCHHDD ", " HHCCCC CCCCHH ", " HCCCCCCCCCH ", " HCCCCCCCCCH ", " CCCBBBCCC ", " CC B CC ", " E C C E ", " CC B CC ", " CCCBBBCCC ", " HCCCCCCCCCH ", " HCCCCCCCCCH ", " HHCCCCCCCCCHH ", " DDHHCCCCCCCCCHHDD ", " BBHKJFFJKJFFJKHBB ", " I I ", " BB BB ", " ", " ", " ", " EE EE ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ") + .aisle(" BCCCCIIIIIIICCCCB ", " ICC CCI ", " ICCJ J JCCI ", " ICC CCI ", " BCCBB BBCCB ", " DHHCC CCHHD ", " HHCCC CCCHH ", " HCCCCCCCCCCCH ", " CCCCBBBCCCC ", " CCCCBBBCCCC ", " CCCBBBCCC ", " E CCCBLBCCC E ", " CCCBBBCCC ", " CCCCBBBCCCC ", " CCCCBBBCCCC ", " HCCCCCCCCCCCH ", " HHCCCCCCCCCCCHH ", " DHHCCCCCCCCCCCHHD ", " BHHJFJKCCCKJFJHHB ", " II BBB II ", " B GMG B ", " BBB ", " ", " ", " E E ", " ", " ", " ", " ", " ", " C C ", " C C ", " C C ", " C C ", " ", " ", " ", " ", " ", " ") + .aisle(" BBCCCIIICCCIIICCCBB ", " B IC CI B ", " B IC J J J CI B ", " B IC CI B ", " BBCCB BBBBB BCCBB ", " DDCCC CCCDD ", " CCCC CCCC ", " HCCCCCCCCCCCH ", " HCCBB BBCCH ", " CCG D GCC ", " CCJ JCC ", " E CF FC E ", " CCJ JCC ", " CCG D GCC ", " HCCBB BBCCH ", " HCCCCCCCCCCCH ", " CCCCCCCCCCCCCCC ", " DDCCCCCCIIICCCCCCDD ", " BBHKFJCCIIICCJFKHBB ", " I BBIIIBB I ", " BB MGCICGM BB ", " BBCICBB ", " CHC ", " CHC ", " E CHC E ", " H ", " H ", " ", " ", " CC CC ", " CC C C C ", " C C ", " C C ", " C C ", " C C ", " C C ", " ", " ", " ", " ") + .aisle(" BCCCIIICCCCCIIICCCB ", " CC CCC CC ", " CC JCJCJ CC ", " CC CCC CC ", " BCCBB BBCCCBB BBCCB ", " DCCCC CFC CCCCD ", " CCCC CCJCC CCCC ", " CCCCCGG GGCCCCC ", " HCCB BCCH ", " CC D CC ", " CC CC ", " E CC CC E ", " CC CC ", " CC D CC ", " HCCB BCCH ", " CCCCCGG GGCCCCC ", " CCCCCCCFJFCCCCCCC ", "DDCCCCCCC CCCCCCCDD", "BBHHJFKCC CCKFJHHBB", "B II BC CB II B", "BB GCC CCG BB", " BCC CCB ", " CCCCC ", " CCCCC ", " E CCC E ", " CCC ", " CCC ", " CCC ", " CCC CCC ", " CCCC CCCC ", " CCCC CCCC ", " C C ", " C C ", " C C ", " C C ", " C C ", " C C ", " ", " ", " ") + .aisle("BBCCCIICCCICCCIICCCBB", "B FC CGFGC CF B", "B GC CJ JC CG B", "B FC CGFGC CF B", "BBCCB BCCJCCB BCCBB", "DDCCC CJ JC CCCDD", " CCCC CF FC CCCC ", " CCCCCCG GCCCCCC ", " CCCB BCCC ", " HBB D BBH ", "E B B E", "EE B B EE", "E B B E", " HBB D BBH ", " CCCB BCCC ", " CCCCCCG GCCCCCC ", " CCCCCCF FCCCCCC ", " DCCCCCI ICCCCCD ", " BHKFJCI ICJFKHB ", " I BI IB I ", " B GI IG B ", " BCC CCB ", " HC CH ", " HC CH ", " E HHC CHH E ", " HC CH ", " HCICH ", " HHC CHH ", " CCC CCC ", " CHH HHC ", " CH HC ", " ", " ", " ", " E ", " EEE ", " EEE ", " E ", " ", " ") + .aisle(" BCCCIICCIIICCIICCCB ", " CC CF FC CC ", " CJJJJJJ JJJJJJC ", " CC CF FC CC ", " BCCB BCJ JCB BCCB ", " DCCC F F CCCD ", " CCC J J CCC ", " CCCCCC CCCCCC ", "E CCCB BCCC E", "E BBDDDCDDDBB E", "EE BB C BB EE", " L N L ", "EE BB C BB EE", "E BBDDDCDDDBB E", "E CCCB BCCC E", " CCCCCC CCCCCC ", " CCCCCCJ JCCCCCC ", " DCCCCCI ICCCCCD ", " BHJFKCI ICKFJHB ", " I BHHHHHHHB I ", " B MI H IM B ", " BI H IB ", " CC H CC ", " E CC CC E ", " E CC CC E ", " E CCC CCC E ", " CCCCICCCC ", " CCCC CCCC ", " CCHHC CHHCC ", " CCHH HHCC ", " CCH HCC ", " C C ", " C E C ", " C EEE C ", " C EEE C ", " C EEE C ", " EEE ", " EEE ", " EEE ", " E ") + .aisle("BBCCCIICCCICCCIICCCBB", "B FC CGFGC CF B", "B GC CJ JC CG B", "B FC CGFGC CF B", "BBCCB BCCJCCB BCCBB", "DDCCC CJ JC CCCDD", " CCCC CF FC CCCC ", " CCCCCCG GCCCCCC ", " CCCB BCCC ", " HBB D BBH ", "E B B E", "EE B B EE", "E B B E", " HBB D BBH ", " CCCB BCCC ", " CCCCCCG GCCCCCC ", " CCCCCCF FCCCCCC ", " DCCCCCI ICCCCCD ", " BHKFJCI ICJFKHB ", " I BI IB I ", " B GI IG B ", " BCC CCB ", " HC CH ", " HC CH ", " E HHC CHH E ", " HC CH ", " HCICH ", " HHC CHH ", " CHC CHC ", " CH HC ", " CC CC ", " ", " ", " ", " E ", " EEE ", " EEE ", " E ", " ", " ") + .aisle(" BCCCIIICCCCCIIICCCB ", " CC CCC CC ", " CC JCJCJ CC ", " CC CCC CC ", " BCCBB BBCCCBB BBCCB ", " DCCCC CFC CCCCD ", " CCCC CCJCC CCCC ", " CCCCCGG GGCCCCC ", " HCCB BCCH ", " CC D CC ", " CC CC ", " E CC CC E ", " CC CC ", " CC D CC ", " HCCB BCCH ", " CCCCCGG GGCCCCC ", " CCCCCCCFJFCCCCCCC ", "DDCCCCCCC CCCCCCCDD", "BBHHJFKCC CCKFJHHBB", "B II BC CB II B", "BB GCC CCG BB", " BCC CCB ", " CCCCC ", " CCCCC ", " E CCC E ", " CCC ", " CCC ", " CCC ", " CCC CCC ", " CC CC ", " CC CC ", " C C ", " C C ", " C C ", " C C ", " ", " ", " ", " ", " ") + .aisle(" BBCCCIIICCCIIICCCBB ", " B IC CI B ", " B IC J J J CI B ", " B IC CI B ", " BBCCB BBBBB BCCBB ", " DDCCC CCCDD ", " CCCC CCCC ", " HCCCCCCCCCCCH ", " HCCBB BBCCH ", " CCG D GCC ", " CCJ JCC ", " E CF FC E ", " CCJ JCC ", " CCG D GCC ", " HCCBB BBCCH ", " HCCCCCCCCCCCH ", " CCCCCCCCCCCCCCC ", " DDCCCCCCIIICCCCCCDD ", " BBHKFJCCIIICCJFKHBB ", " I BBIIIBB I ", " BB MGCICGM BB ", " BBCICBB ", " CHC ", " CHC ", " E CHC E ", " H ", " H ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ") + .aisle(" BCCCCIIIIIIICCCCB ", " ICC CCI ", " ICCJ J JCCI ", " ICC CCI ", " BCCBB BBCCB ", " DHHCC CCHHD ", " HHCCC CCCHH ", " HCCCCCCCCCCCH ", " CCCCBBBCCCC ", " CCCCBBBCCCC ", " CCCBBBCCC ", " E CCCBLBCCC E ", " CCCBBBCCC ", " CCCCBBBCCCC ", " CCCCBBBCCCC ", " HCCCCCCCCCCCH ", " HHCCCCCCCCCCCHH ", " DHHCCCCCCCCCCCHHD ", " BHHJFJKCCCKJFJHHB ", " II BBB II ", " B GMG B ", " BBB ", " ", " ", " E E ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ") + .aisle(" BBCCCCIIIIICCCCBB ", " B GCC CCG B ", " B JJC J CJJ B ", " B GCC CCG B ", " BBCCBBB BBBCCBB ", " DDHHCCC CCCHHDD ", " HHCCCC CCCCHH ", " HCCCCCCCCCH ", " HCCCCCCCCCH ", " CCCBBBCCC ", " CC B CC ", " E C C E ", " CC B CC ", " CCCBBBCCC ", " HCCCCCCCCCH ", " HCCCCCCCCCH ", " HHCCCCCCCCCHH ", " DDHHCCCCCCCCCHHDD ", " BBHKJFFJKJFFJKHBB ", " I I ", " BB BB ", " ", " ", " ", " EE EE ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ") + .aisle(" BCCCCCCCCCCCCCB ", " FGCC CCGF ", " KJCC J CCJK ", " FGCC CCGF ", " BCCCCBBBBBCCCCB ", " DHHHCCCCCCCHHHD ", " HHHCCCCCCCHHH ", " HHCCCCCHH ", " HHCCCHH ", " H H ", " E E ", " E E ", " E E ", " H H ", " HHCCCHH ", " HHCCCCCHH ", " HHHCCCCCCCHHH ", " DHHHCCCCCCCHHHD ", " BHHHKJFFFJKHHHB ", " III III ", " B B ", " ", " ", " E ", " EEEEE ", " E ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ") + .aisle(" BBBCCCCCCCCCBBB ", " B IICCCCCII B ", " B IICCJCCII B ", " B IICCCCCII B ", " BBBCCCCCCCCCBBB ", " DDDHCCCCCCCHDDD ", " HCCCCCCCH ", " CCCCC ", " E CCC E ", " E E ", " EE EE ", " E E ", " EE EE ", " E E ", " E CCC E ", " CCCCC ", " HCCCCCCCH ", " DDDHCCCCCCCHDDD ", " BBBHHHKJKHHHBBB ", " B III III B ", " BBB BBB ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ") + .aisle(" BBBCCCCCBBB ", " B CFCFC B ", " B CG@GC B ", " B CFCFC B ", " BBBCCCCCBBB ", " DDDCCCCCDDD ", " CCCCC ", " CCC ", " ", " ", " ", " EE EE ", " ", " ", " ", " CCC ", " CCCCC ", " DDDCCCCCDDD ", " BBBHHHHHBBB ", " IIIII ", " BBB BBB ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ") + .aisle(" BBBBBBB ", " B B ", " B B ", " B B ", " BBBBBBB ", " DDDDDDD ", " ", " ", " ", " ", " E ", " EEE EEE ", " E ", " ", " ", " ", " ", " DDDDDDD ", " BBBBBBB ", " ", " BBBBBBB ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ") + .aisle(" B B ", " B B ", " B B ", " B B ", " B B ", " D D ", " ", " ", " E ", " E ", " EEE ", " E E ", " EEE ", " E ", " E ", " ", " ", " D D ", " B B ", " B B ", " B B ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ") .where(" ", Predicates.any()) .where("B", Predicates.blocks(StarTMachineUtils.getKjsBlock("aberration_casing"))) .where("C", Predicates.blocks(StarTMachineUtils.getKjsBlock("absolute_temperature_smelting_casing")) diff --git a/src/main/java/com/startechnology/start_core/recipe/StarTRecipeModifiers.java b/src/main/java/com/startechnology/start_core/recipe/StarTRecipeModifiers.java index e92b168..b874a3a 100644 --- a/src/main/java/com/startechnology/start_core/recipe/StarTRecipeModifiers.java +++ b/src/main/java/com/startechnology/start_core/recipe/StarTRecipeModifiers.java @@ -29,7 +29,7 @@ public static ModifierFunction hellforgeOverclock(MetaMachine machine, GTRecipe return RecipeModifier.nullWrongType(StarTHellForgeMachine.class, machine); } - int hellforgeTemp = coilMachine.getCrucibleTemperature(); + int hellforgeTemp = coilMachine.getTemperature(); int recipeTemp = recipe.data.getInt("ebf_temp"); diff --git a/src/main/resources/assets/start_core/lang/en_us.json b/src/main/resources/assets/start_core/lang/en_us.json index 6dd63bd..6270503 100644 --- a/src/main/resources/assets/start_core/lang/en_us.json +++ b/src/main/resources/assets/start_core/lang/en_us.json @@ -293,8 +293,19 @@ "gtceu.recipe.category.hellforge_heating": "§6Hadean Crucible Heating", "gtceu.hellforge": "§6Infernal Forging", "block.start_core.hellforge": "§6Hell Forge", - "block.start_core.fornaxs_infernal_rotary_engine": "§6Fornaxs Infernal Rotary Engine", + "block.start_core.fornaxs_infernal_rotary_engine": "§bFornaxs Infernal Rotary Engine", "block.start_core.fornaxs_infernal_rotary_engine_rm": "Has §bThroughput Boosting§r and §eBatching", + "block.start_core.fornaxs_infernal_rotary_engine_line": "§3§lSovereign of Soulflame", + "block.start_core.fornaxs_infernal_rotary_engine_description": "§7An exalted crucible that harnesses the Soul of the Flame to fuel its hellish fury, demanding fluid offerings to further awaken its blazing fury.", + "block.start_core.fornaxs_infernal_rotary_engine_d0": "§9Hadean Crucible:", + "block.start_core.fornaxs_infernal_rotary_engine_d1": "§7The engine utilises the crucible to alloy materials together at extreme temperatures, but the Soul of the Flame can only heat the crucible to §b925MK§7 itself.", + "block.start_core.fornaxs_infernal_rotary_engine_d2": "§7Provide different §dHeating Fluids §7to the engine to heat up the crucible beyond the soul's limit. Each fluid has a maximum temperature that it can heat the crucible to.", + "block.start_core.fornaxs_infernal_rotary_engine_d9": "§7These heating recipes will always be prioritised over the other recipes.", + "block.start_core.fornaxs_infernal_rotary_engine_d3": "§7The engine will always lose §93MK §7of its heat every 10 seconds. When dormant the engine loses an additional §972MK§7 every 10 seconds.", + "block.start_core.fornaxs_infernal_rotary_engine_d5": "§5Infernal Parallelisation:", + "block.start_core.fornaxs_infernal_rotary_engine_d6": "§7For every n §d450MK§7 over the recipe requirement, the engine gains 2^n absolute parallels.", + "ui.start_core.fornaxs_crucible": "§dCrucible Temp: §b{0}MK", + "block.start_core.hellforge_added": "Has §bThroughput Boosting§r and §eBatching", "block.start_core.hellforge_multiblock_line": "§c§lDomain of Infernal Reckoning", "block.start_core.hellforge_description": "§7A towering infernal crucible that harnesses the Heart of the Flame to fuel its relentless fires, demanding fluid offerings to awaken its molten fury.", From e6abe3d68f7200f4728c9ea71e14b4e7b5a73d17 Mon Sep 17 00:00:00 2001 From: oTurquoise Date: Wed, 25 Mar 2026 13:07:55 +0000 Subject: [PATCH 6/9] Made requested changes --- .../start_core/machine/hellforge/StarTHellForgeMachines.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/startechnology/start_core/machine/hellforge/StarTHellForgeMachines.java b/src/main/java/com/startechnology/start_core/machine/hellforge/StarTHellForgeMachines.java index 6bff1d5..1f000fe 100644 --- a/src/main/java/com/startechnology/start_core/machine/hellforge/StarTHellForgeMachines.java +++ b/src/main/java/com/startechnology/start_core/machine/hellforge/StarTHellForgeMachines.java @@ -63,7 +63,7 @@ public class StarTHellForgeMachines { .aisle(" BFFBBBFFB ", " F III F ", " F III F ", " F III F ", " BBFFIIIFFBB ", " CHHHIIIHHHC ", " HHHIIIHHH ", " HHIIIHH ", " HHJJJHH ", " HE J EH ", " D E E D ", " HE J EH ", " HHJJJHH ", " HHIIIHH ", " HHHIIIHHH ", " CHHHIIIHHHC ", " BHIIIIIIIHB ", " F JJJ F ", " B IKI B ", " JJJ ", " ", " ", " D D ", " ", " ", " E E ", " EEHEH ", " E ", " E ", " E ", " ", " ") .aisle("BBFFBBBBBFFBB", "BF GIFIG FB", "BF GJ JG FB", "BF GJ JG FB", "BBFFG GFFBB", "CEHHG GHHEC", " EHHG GHHE ", " HHG GHH ", " HGBCBGH ", " EGBJBGE ", "D EGBLBGE D", " EGBJBGE ", " HGBCBGH ", " HHG GHH ", " EHHG GHHE ", "CEHHG GHHEC", "BHIIG GIIHB", " F JJ JJ F ", "B IJ JI B", " JEBEJ ", " JEBEJ ", " EBE ", " D EBH D ", " EBE ", " EBE ", " EEEEE ", " HEEEEE ", " E ", " ", " ", " E ", " ") .aisle(" BFBBBBBBBFB ", " E IIIIIII E ", " E IJ JI E ", " E IJ JI E ", "BBFI IFBB", "CEHI IHEC", " EHI IHE ", " EHI IHE ", " EJB C BJE ", " B B ", "D B B D", " B B ", " EJB C BJE ", " EHI IHE ", " EHI IHE ", "CEHI IHEC", "BHII IIHB", " F JJ JJ F ", "B IJ JI B", " JE EJ ", " E B E ", " E E ", " D E E D ", " H E ", " EEEEE ", " EBBBEE ", " HE ", " ", " ", " ", " ", " ") - .aisle(" BFBBBBBBBFB ", " E IFIIIFI E ", " G I G I G ", " E I G I E ", "BBFI G IFBB", "CEHI G IHEC", " EHI IHE ", " EEI IEE ", " JCCECCJ ", "D JJ E JJ D", "D L M L D", "D JJ E JJ D", " JCCECCJ ", " EEI IEE ", " EHI IHE ", "CEHI IHEC", "BHII IIHB", " F J J F ", "B K K B", " JB BJ ", " B B B ", " B B B ", " D B B D ", " B B ", " BEEEB ", " BBBEE ", " ", " ", " ", " ", " ", " ") + .aisle(" BFBBBBBBBFB ", " E IFIIIFI E ", " G I G I G ", " E I G I E ", "BBFI G IFBB", "CEHI G IHEC", " EHI IHE ", " EEI IEE ", " JCCECCJ ", "D JJ E JJ D", "D L M L D", "D JJ E JJ D", " JCCECCJ ", " EEI IEE ", " EHI IHE ", "CEHI IHEC", "BHII IIHB", " F J J F ", "B K K B", " JB BJ ", " B B B ", " B B B ", " D B B D ", " B B ", " BEEEB ", " BBBEE ", " ", " ", " D ", " DDD ", " DDD ", " D ") .aisle(" BFBBBBBBBFB ", " E IIIIIII E ", " E IJ JI E ", " E IJ JI E ", "BBFI IFBB", "CEHI IHEC", " EHI IHE ", " EHI IHE ", " EJB C BJE ", " B B ", "D B B D", " B B ", " EJB C BJE ", " EHI IHE ", " EHI IHE ", "CEHI IHEC", "BHII IIHB", " F JJ JJ F ", "B IJ JI B", " JE EJ ", " E E ", " E E ", " D E E D ", " H H ", " EEBEEE ", " HEE ", " EE ", " E ", " E ", " ", " ", " ") .aisle("BBFFBBBBBFFBB", "BF GIFIG FB", "BF GJ JG FB", "BF GJ JG FB", "BBFFG GFFBB", "CEHHG GHHEC", " EHHG GHHE ", " HHG GHH ", " HGBCBGH ", " EGBJBGE ", "D EGBLBGE D", " EGBJBGE ", " HGBCBGH ", " HHG GHH ", " EHHG GHHE ", "CEHHG GHHEC", "BHIIG GIIHB", " F JJ JJ F ", "B IJ JI B", " JEBEJ ", " JEBEJ ", " EBE ", " D HBE D ", " EBE ", " EBE ", " ", " ", " ", " ", " ", " ", " ") .aisle(" BFFBBBFFB ", " F III F ", " F III F ", " F III F ", " BBFFIIIFFBB ", " CHHHIIIHHHC ", " HHHIIIHHH ", " HHIIIHH ", " HHJJJHH ", " HE J EH ", " D E E D ", " HE J EH ", " HHJJJHH ", " HHIIIHH ", " HHHIIIHHH ", " CHHHIIIHHHC ", " BHIIIIIIIHB ", " F JJJ F ", " B IKI B ", " JJJ ", " ", " ", " D D ", " ", " ", " ", " ", " ", " ", " ", " ", " ") @@ -126,7 +126,7 @@ public class StarTHellForgeMachines { .rotationState(RotationState.NON_Y_AXIS) .recipeTypes(StarTRecipeTypes.HELL_FORGE_RECIPES) .pattern(definition -> FactoryBlockPattern.start() - .aisle(" BCB ", " B B ", " B B ", " B B ", " B B ", " D D ", " ", " ", " E ", " E ", " EEE ", " E E ", " EEE ", " E ", " E ", " ", " ", " D D ", " B B ", " B B ", " B B ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ") + .aisle(" B B ", " B B ", " B B ", " B B ", " B B ", " D D ", " ", " ", " E ", " E ", " EEE ", " E E ", " EEE ", " E ", " E ", " ", " ", " D D ", " B B ", " B B ", " B B ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ") .aisle(" BBBBBBB ", " B B ", " B B ", " B B ", " BBBBBBB ", " DDDDDDD ", " ", " ", " ", " ", " E ", " EEE EEE ", " E ", " ", " ", " ", " ", " DDDDDDD ", " BBBBBBB ", " ", " BBBBBBB ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ") .aisle(" BBBCCCCCBBB ", " B CFCFC B ", " B CGCGC B ", " B CFCFC B ", " BBBCCCCCBBB ", " DDDCCCCCDDD ", " CCCCC ", " CCC ", " ", " ", " ", " EE EE ", " ", " ", " ", " CCC ", " CCCCC ", " DDDCCCCCDDD ", " BBBHHHHHBBB ", " IIIII ", " BBB BBB ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ") .aisle(" BBBCCCCCCCCCBBB ", " B IICCCCCII B ", " B IICCJCCII B ", " B IICCCCCII B ", " BBBCCCCCCCCCBBB ", " DDDHCCCCCCCHDDD ", " HCCCCCCCH ", " CCCCC ", " E CCC E ", " E E ", " EE EE ", " E E ", " EE EE ", " E E ", " E CCC E ", " CCCCC ", " HCCCCCCCH ", " DDDHCCCCCCCHDDD ", " BBBHHHKJKHHHBBB ", " B III III B ", " BBB BBB ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ") From e4aebaa2bda64c5abd34edaf32dda80818354254 Mon Sep 17 00:00:00 2001 From: Stellaurora <46666120+stellaurora@users.noreply.github.com> Date: Thu, 26 Mar 2026 09:39:54 +1100 Subject: [PATCH 7/9] Update en_us.json to clarify HF recipe search logic --- src/main/resources/assets/start_core/lang/en_us.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/resources/assets/start_core/lang/en_us.json b/src/main/resources/assets/start_core/lang/en_us.json index 6270503..3d450a7 100644 --- a/src/main/resources/assets/start_core/lang/en_us.json +++ b/src/main/resources/assets/start_core/lang/en_us.json @@ -300,7 +300,7 @@ "block.start_core.fornaxs_infernal_rotary_engine_d0": "§9Hadean Crucible:", "block.start_core.fornaxs_infernal_rotary_engine_d1": "§7The engine utilises the crucible to alloy materials together at extreme temperatures, but the Soul of the Flame can only heat the crucible to §b925MK§7 itself.", "block.start_core.fornaxs_infernal_rotary_engine_d2": "§7Provide different §dHeating Fluids §7to the engine to heat up the crucible beyond the soul's limit. Each fluid has a maximum temperature that it can heat the crucible to.", - "block.start_core.fornaxs_infernal_rotary_engine_d9": "§7These heating recipes will always be prioritised over the other recipes.", + "block.start_core.fornaxs_infernal_rotary_engine_d9": "§7These heating recipes will always be prioritised over the other recipes during recipe search.", "block.start_core.fornaxs_infernal_rotary_engine_d3": "§7The engine will always lose §93MK §7of its heat every 10 seconds. When dormant the engine loses an additional §972MK§7 every 10 seconds.", "block.start_core.fornaxs_infernal_rotary_engine_d5": "§5Infernal Parallelisation:", "block.start_core.fornaxs_infernal_rotary_engine_d6": "§7For every n §d450MK§7 over the recipe requirement, the engine gains 2^n absolute parallels.", @@ -312,7 +312,7 @@ "block.start_core.hellforge_d0": "§6Hadean Crucible:", "block.start_core.hellforge_d1": "§7The hell forge utilises the crucible to alloy materials together at an extreme temperature, but the Heart of the Flame cannot heat the crucible itself.", "block.start_core.hellforge_d2": "§7Provide different §cHeating Fluids §7to the hell forge to heat up the crucible. Each fluid has a maximum temperature that it can heat the crucible to.", - "block.start_core.hellforge_d9": "§7These heating recipes will always be prioritised over the other recipes.", + "block.start_core.hellforge_d9": "§7These heating recipes will always be prioritised over the other recipes during recipe search.", "block.start_core.hellforge_d3": "§7The hell forge will always lose §95MK §7of its heat every 10 seconds. When dormant the hell forge loses an additional §9120MK§7 every 10 seconds.", "block.start_core.hellforge_d5": "§eInfernal Parallelisation:", "block.start_core.hellforge_d6": "§7For every n §c450MK§7 over the recipe requirement, the hell forge gains 2^n absolute parallels.", From 586af5782a73c156b9f00e795d4cd025a184a308 Mon Sep 17 00:00:00 2001 From: oTurquoise Date: Tue, 24 Mar 2026 19:48:08 +0000 Subject: [PATCH 8/9] Fixed Throughput Boosting Typo and altered modifiers for tpb and bulk --- .../hellforge/StarTHellForgeMachines.java | 2 +- .../recipe/StarTRecipeModifiers.java | 42 ++++++++----------- 2 files changed, 19 insertions(+), 25 deletions(-) diff --git a/src/main/java/com/startechnology/start_core/machine/hellforge/StarTHellForgeMachines.java b/src/main/java/com/startechnology/start_core/machine/hellforge/StarTHellForgeMachines.java index 1f000fe..a8b7d0c 100644 --- a/src/main/java/com/startechnology/start_core/machine/hellforge/StarTHellForgeMachines.java +++ b/src/main/java/com/startechnology/start_core/machine/hellforge/StarTHellForgeMachines.java @@ -122,7 +122,7 @@ public class StarTHellForgeMachines { Component.translatable("block.start_core.fornaxs_infernal_rotary_engine_rm"), Component.translatable("start_core.added_by_tooltip") ) - .recipeModifiers(GTRecipeModifiers.OC_NON_PERFECT, StarTRecipeModifiers.HELL_FORGE_OC, StarTRecipeModifiers.THOUGHPUT_BOOSTING, GTRecipeModifiers.BATCH_MODE) + .recipeModifiers(GTRecipeModifiers.OC_NON_PERFECT, StarTRecipeModifiers.HELL_FORGE_OC, StarTRecipeModifiers.THROUGHPUT_BOOSTING, GTRecipeModifiers.BATCH_MODE) .rotationState(RotationState.NON_Y_AXIS) .recipeTypes(StarTRecipeTypes.HELL_FORGE_RECIPES) .pattern(definition -> FactoryBlockPattern.start() diff --git a/src/main/java/com/startechnology/start_core/recipe/StarTRecipeModifiers.java b/src/main/java/com/startechnology/start_core/recipe/StarTRecipeModifiers.java index b874a3a..9749426 100644 --- a/src/main/java/com/startechnology/start_core/recipe/StarTRecipeModifiers.java +++ b/src/main/java/com/startechnology/start_core/recipe/StarTRecipeModifiers.java @@ -1,15 +1,12 @@ package com.startechnology.start_core.recipe; import com.gregtechceu.gtceu.api.machine.MetaMachine; -import com.gregtechceu.gtceu.api.machine.feature.multiblock.IMultiController; -import com.gregtechceu.gtceu.api.machine.feature.multiblock.IMultiPart; import com.gregtechceu.gtceu.api.recipe.GTRecipe; import com.gregtechceu.gtceu.api.recipe.content.ContentModifier; import com.gregtechceu.gtceu.api.recipe.modifier.ModifierFunction; import com.gregtechceu.gtceu.api.recipe.modifier.ParallelLogic; import com.gregtechceu.gtceu.api.recipe.modifier.RecipeModifier; import com.gregtechceu.gtceu.common.data.GTRecipeModifiers; -import com.gregtechceu.gtceu.common.machine.multiblock.electric.AssemblyLineMachine; import com.gregtechceu.gtceu.common.machine.multiblock.generator.LargeTurbineMachine; import com.startechnology.start_core.machine.boosting.BoostedPlasmaTurbine; import com.startechnology.start_core.machine.hellforge.StarTHellForgeMachine; @@ -17,8 +14,6 @@ import com.startechnology.start_core.machine.threading.StarTThreadingCapableMachine; import com.startechnology.start_core.machine.vcrc.VacuumChemicalReactionChamberMachine; -import java.util.Comparator; - public class StarTRecipeModifiers { public static final RecipeModifier ABSOLUTE_PARALLEL = GTRecipeModifiers::hatchParallel; @@ -56,19 +51,18 @@ public static ModifierFunction hellforgeOverclock(MetaMachine machine, GTRecipe public static final RecipeModifier BULK_PROCESSING = StarTRecipeModifiers::bulkThroughputProcessing; public static ModifierFunction bulkThroughputProcessing(MetaMachine machine, GTRecipe recipe) { - // Bulks at 4n:3n up to bulkLimit = 4n - var bulkLimit = 64; - var maxBulking = ParallelLogic.getParallelAmountWithoutEU(machine, recipe, bulkLimit); - var timesBulkingApplied = maxBulking / 4; + int maxBulk = 16; + int throughputModifier = 16; + int durationModifier = 13; + + var parallelsAvailable = Math.max(0, ParallelLogic.getParallelAmountWithoutEU(machine, recipe, maxBulk)); - var thoughputBulkingApplied = timesBulkingApplied * 4; - var durationBulkingApplied = timesBulkingApplied * 3; + if (parallelsAvailable >= maxBulk) { - if (timesBulkingApplied >= 1) { return ModifierFunction.builder() - .modifyAllContents(ContentModifier.multiplier(thoughputBulkingApplied)) - .durationMultiplier(durationBulkingApplied) - .parallels(thoughputBulkingApplied) + .modifyAllContents(ContentModifier.multiplier(throughputModifier)) + .durationMultiplier(durationModifier) + .parallels(throughputModifier) .build(); } @@ -76,22 +70,22 @@ public static ModifierFunction bulkThroughputProcessing(MetaMachine machine, GTR } - public static final RecipeModifier THOUGHPUT_BOOSTING = StarTRecipeModifiers::thoughputBoosting; + public static final RecipeModifier THROUGHPUT_BOOSTING = StarTRecipeModifiers::throughputBoosting; - public static ModifierFunction thoughputBoosting(MetaMachine machine, GTRecipe recipe) { - int thoughputModifier = 4; - double durationModifier = 1.4; - double eutModifier = 0.9; + public static ModifierFunction throughputBoosting(MetaMachine machine, GTRecipe recipe) { + int throughputModifier = 4; + double durationModifier = 1.6; + double eutModifier = 0.95; - int parallelsAvailable = Math.max(0, ParallelLogic.getParallelAmountWithoutEU(machine, recipe, thoughputModifier)); + int parallelsAvailable = Math.max(0, ParallelLogic.getParallelAmountWithoutEU(machine, recipe, throughputModifier)); - if (parallelsAvailable >= thoughputModifier) { + if (parallelsAvailable >= throughputModifier) { return ModifierFunction.builder() - .modifyAllContents(ContentModifier.multiplier(thoughputModifier)) + .modifyAllContents(ContentModifier.multiplier(throughputModifier)) .durationMultiplier(durationModifier) .eutMultiplier(eutModifier) - .parallels(thoughputModifier) + .parallels(throughputModifier) .build(); } From 639535dadbcab0857aaf8979f50288de7db6e0b6 Mon Sep 17 00:00:00 2001 From: oTurquoise Date: Tue, 24 Mar 2026 19:58:20 +0000 Subject: [PATCH 9/9] Removed unnecessary variable --- .../start_core/recipe/StarTRecipeModifiers.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/startechnology/start_core/recipe/StarTRecipeModifiers.java b/src/main/java/com/startechnology/start_core/recipe/StarTRecipeModifiers.java index 9749426..f779bb8 100644 --- a/src/main/java/com/startechnology/start_core/recipe/StarTRecipeModifiers.java +++ b/src/main/java/com/startechnology/start_core/recipe/StarTRecipeModifiers.java @@ -51,13 +51,12 @@ public static ModifierFunction hellforgeOverclock(MetaMachine machine, GTRecipe public static final RecipeModifier BULK_PROCESSING = StarTRecipeModifiers::bulkThroughputProcessing; public static ModifierFunction bulkThroughputProcessing(MetaMachine machine, GTRecipe recipe) { - int maxBulk = 16; int throughputModifier = 16; int durationModifier = 13; - var parallelsAvailable = Math.max(0, ParallelLogic.getParallelAmountWithoutEU(machine, recipe, maxBulk)); + var parallelsAvailable = Math.max(0, ParallelLogic.getParallelAmountWithoutEU(machine, recipe, throughputModifier)); - if (parallelsAvailable >= maxBulk) { + if (parallelsAvailable >= throughputModifier) { return ModifierFunction.builder() .modifyAllContents(ContentModifier.multiplier(throughputModifier))