From de0452c4d800d671bc38757c85966850cfd4b8b2 Mon Sep 17 00:00:00 2001 From: chochem <40274384+chochem@users.noreply.github.com> Date: Wed, 21 Aug 2024 12:37:02 +0100 Subject: Fix full amp recipes (#2930) * round 1 * RS-AL recipes * round 3 with a bit of cleanup * round 4 --------- Co-authored-by: Martin Robertz --- src/main/java/gregtech/api/util/GT_RecipeRegistrator.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/main/java/gregtech/api') diff --git a/src/main/java/gregtech/api/util/GT_RecipeRegistrator.java b/src/main/java/gregtech/api/util/GT_RecipeRegistrator.java index ff897438cf..5acb15b242 100644 --- a/src/main/java/gregtech/api/util/GT_RecipeRegistrator.java +++ b/src/main/java/gregtech/api/util/GT_RecipeRegistrator.java @@ -3,6 +3,7 @@ package gregtech.api.util; import static gregtech.api.enums.GT_Values.L; import static gregtech.api.enums.GT_Values.M; import static gregtech.api.enums.GT_Values.RA; +import static gregtech.api.enums.GT_Values.VP; import static gregtech.api.enums.Materials.Bronze; import static gregtech.api.enums.Materials.Cobalt; import static gregtech.api.enums.Materials.DarkSteel; @@ -28,6 +29,7 @@ import static gregtech.api.util.GT_RecipeBuilder.TICKS; import static gregtech.api.util.GT_RecipeConstants.RECYCLE; import static gregtech.api.util.GT_RecipeConstants.UniversalArcFurnace; import static gregtech.api.util.GT_Utility.calculateRecipeEU; +import static gregtech.api.util.GT_Utility.getTier; import java.lang.reflect.Field; import java.util.ArrayList; @@ -222,9 +224,15 @@ public class GT_RecipeRegistrator { if (recipeOutput != null) { builder.itemOutputs(recipeOutput); } + long powerUsage = Math.max(8, (long) Math.sqrt(2 * aMaterial.mSmeltInto.mStandardMoltenFluid.getTemperature())); + // avoid full amp recipes + int powerTier = getTier(powerUsage); + if (powerTier > 0 && powerTier < VP.length && powerUsage > VP[powerTier]) { + powerUsage = VP[powerTier]; + } builder.fluidOutputs(aMaterial.mSmeltInto.getMolten((L * aMaterialAmount) / (M * aStack.stackSize))) .duration((int) Math.max(1, (24 * aMaterialAmount) / M)) - .eut(Math.max(8, (int) Math.sqrt(2 * aMaterial.mSmeltInto.mStandardMoltenFluid.getTemperature()))) + .eut(powerUsage) .recipeCategory(RecipeCategories.fluidExtractorRecycling) .addTo(fluidExtractionRecipes); } -- cgit