diff options
author | Connor-Colenso <52056774+Connor-Colenso@users.noreply.github.com> | 2023-04-22 13:03:23 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-22 13:03:23 +0100 |
commit | facf1d8d16540e0c5c9ed0eb23a1742448d006cb (patch) | |
tree | e4feb3542bfb97e794bbecb11dcdb2c9e0153c5a | |
parent | 452c36d1d4ff812f0fcc536cbc048ce549b0998e (diff) | |
parent | ce2e8769e596efbef1731a022f659ebf76518696 (diff) | |
download | GT5-Unofficial-facf1d8d16540e0c5c9ed0eb23a1742448d006cb.tar.gz GT5-Unofficial-facf1d8d16540e0c5c9ed0eb23a1742448d006cb.tar.bz2 GT5-Unofficial-facf1d8d16540e0c5c9ed0eb23a1742448d006cb.zip |
Merge pull request #194 from GTNewHorizons/fix_estimated_eu
Fix EOH estimated eu/t formula
-rw-r--r-- | src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_EyeOfHarmony.java | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_EyeOfHarmony.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_EyeOfHarmony.java index a9259018ac..a8f8b97168 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_EyeOfHarmony.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_EyeOfHarmony.java @@ -104,6 +104,8 @@ public class GT_MetaTileEntity_EM_EyeOfHarmony extends GT_MetaTileEntity_Multibl private String userUUID = ""; private long euOutput = 0; + private long startEU = 0; + @Override public int survivalConstruct(ItemStack stackSize, int elementBudget, IItemSource source, EntityPlayerMP actor) { if (mMachine) return -1; @@ -1126,10 +1128,10 @@ public class GT_MetaTileEntity_EM_EyeOfHarmony extends GT_MetaTileEntity_Multibl return false; } + startEU = recipeObject.getEUStartCost(); + // Remove EU from the users network. - if (!addEUToGlobalEnergyMap( - userUUID, - (long) (-recipeObject.getEUStartCost() * pow(4, currentCircuitMultiplier)))) { + if (!addEUToGlobalEnergyMap(userUUID, (long) (-startEU * pow(4, currentCircuitMultiplier)))) { return false; } @@ -1259,6 +1261,7 @@ public class GT_MetaTileEntity_EM_EyeOfHarmony extends GT_MetaTileEntity_Multibl userUUID, (long) (euOutput * (1 - ((TOTAL_CASING_TIERS_WITH_POWER_PENALTY - stabilisationFieldMetadata) * STABILITY_INCREASE_PROBABILITY_DECREASE_YIELD_PER_TIER)))); + startEU = 0; euOutput = 0; if (successChance < random()) { @@ -1336,7 +1339,14 @@ public class GT_MetaTileEntity_EM_EyeOfHarmony extends GT_MetaTileEntity_Multibl str.add(GOLD + "---------------------- Other Stats ---------------"); str.add("Recipe Success Chance: " + RED + formatNumbers(100 * successChance) + RESET + "%"); str.add("Recipe Yield: " + RED + formatNumbers(100 * recipeYieldCalculator()) + RESET + "%"); - str.add("EU Output: " + RED + formatNumbers(euOutput) + RESET + " EU"); + str.add( + "EU Output: " + RED + + formatNumbers( + euOutput * (1 + - ((TOTAL_CASING_TIERS_WITH_POWER_PENALTY - stabilisationFieldMetadata) + * STABILITY_INCREASE_PROBABILITY_DECREASE_YIELD_PER_TIER))) + + RESET + + " EU"); if (mOutputFluids.length > 0) { // Star matter is always the last element in the array. str.add( @@ -1345,13 +1355,16 @@ public class GT_MetaTileEntity_EM_EyeOfHarmony extends GT_MetaTileEntity_Multibl + RESET + " L"); } - long euPerTick = euOutput / maxProgresstime(); - if (euPerTick < LongMath.pow(10, 12)) { - str.add("Estimated EU/t: " + RED + formatNumbers(euOutput / maxProgresstime()) + RESET + " EU/t"); + long euPerTick = (long) -(startEU * pow(4, currentCircuitMultiplier) + - euOutput * (1 - ((TOTAL_CASING_TIERS_WITH_POWER_PENALTY - stabilisationFieldMetadata) + * STABILITY_INCREASE_PROBABILITY_DECREASE_YIELD_PER_TIER))) + / maxProgresstime(); + if (abs(euPerTick) < LongMath.pow(10, 12)) { + str.add("Estimated EU/t: " + RED + formatNumbers(euPerTick) + RESET + " EU/t"); } else { str.add( "Estimated EU/t: " + RED - + ReadableNumberConverter.INSTANCE.toWideReadableForm(euOutput / maxProgresstime()) + + ReadableNumberConverter.INSTANCE.toWideReadableForm(euPerTick) + RESET + " EU/t"); } |