diff options
author | miozune <miozune@gmail.com> | 2022-08-06 21:10:13 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-06 19:10:13 +0700 |
commit | f5d6250f81efaae5c42c024450846909a7e39115 (patch) | |
tree | 2c8ef0dfc169864c093494610bbf969c19a9ce5a /src/main/java/goodgenerator/loader | |
parent | cd1057e615341d01a7abbd3a07cf5f3ceec64d30 (diff) | |
download | GT5-Unofficial-f5d6250f81efaae5c42c024450846909a7e39115.tar.gz GT5-Unofficial-f5d6250f81efaae5c42c024450846909a7e39115.tar.bz2 GT5-Unofficial-f5d6250f81efaae5c42c024450846909a7e39115.zip |
Fix overflow with EHE (#63)
* Fix overflow with EHE
* log if amount exceed int
Diffstat (limited to 'src/main/java/goodgenerator/loader')
-rw-r--r-- | src/main/java/goodgenerator/loader/RecipeLoader_02.java | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/main/java/goodgenerator/loader/RecipeLoader_02.java b/src/main/java/goodgenerator/loader/RecipeLoader_02.java index 8e2e07e24f..9e82432982 100644 --- a/src/main/java/goodgenerator/loader/RecipeLoader_02.java +++ b/src/main/java/goodgenerator/loader/RecipeLoader_02.java @@ -1866,12 +1866,21 @@ public class RecipeLoader_02 { FluidStack output = FluidRegistry.getFluidStack(tOutName, tPlasma.amount); if (output == null) output = FluidRegistry.getFluidStack("molten." + tOutName, tPlasma.amount); if (output != null) { + long waterAmount = (long) tUnit * 3 * tPlasma.amount / 160; + long superHeatedSteamAmount = (long) tUnit * 3 * tPlasma.amount; + long criticalSteamAmount = (long) tUnit * 3 * tPlasma.amount / 100; + while (superHeatedSteamAmount > Integer.MAX_VALUE) { + GT_Log.out.print("Superheated steam amount exceeded max int for plasma " + tOutName); + waterAmount /= 2; + superHeatedSteamAmount /= 2; + criticalSteamAmount /= 2; + } MyRecipeAdder.instance.addExtremeHeatExchangerRecipe( tPlasma, output, - FluidRegistry.getFluidStack("ic2distilledwater", tUnit * 3 * tPlasma.amount / 160), - FluidRegistry.getFluidStack("ic2superheatedsteam", tUnit * 3 * tPlasma.amount), - FluidRegistry.getFluidStack("supercriticalsteam", tUnit * 3 * tPlasma.amount / 100), + FluidRegistry.getFluidStack("ic2distilledwater", (int) waterAmount), + FluidRegistry.getFluidStack("ic2superheatedsteam", (int) superHeatedSteamAmount), + FluidRegistry.getFluidStack("supercriticalsteam", (int) criticalSteamAmount), 1); } } |