Skip to content

Commit eb51e5a

Browse files
Slightly increase Large Turbine energy output and fuel burn (#3988)
1 parent 6825ddb commit eb51e5a

1 file changed

Lines changed: 8 additions & 2 deletions

File tree

src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/generator/LargeTurbineMachine.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ public int getRotorDurabilityPercent() {
136136
* Recipe is fast parallelized up to {@code (baseEUt * power) / recipeEUt} times.
137137
* Duration is then multiplied by the holder efficiency.
138138
* </p>
139-
*
139+
*
140140
* @param machine a {@link LargeTurbineMachine}
141141
* @param recipe recipe
142142
* @return A {@link ModifierFunction} for the given Turbine Multiblock and recipe
@@ -156,9 +156,15 @@ public static ModifierFunction recipeModifier(@NotNull MetaMachine machine, @Not
156156
if (EUt.isEmpty() || turbineMaxVoltage <= EUt.voltage() || holderEfficiency <= 0) return ModifierFunction.NULL;
157157

158158
// get the amount of parallel required to match the desired output voltage
159+
// Max Parallel is Ceilinged not Floored to ensure the output voltage is actually met,
160+
// at the cost of slightly increased fuel
159161
int maxParallel = (int) (turbineMaxVoltage / EUt.getTotalEU());
162+
if (turbineMaxVoltage % EUt.getTotalEU() != 0) maxParallel++;
163+
160164
int actualParallel = ParallelLogic.getParallelAmountFast(turbineMachine, recipe, maxParallel);
161-
double eutMultiplier = turbineMachine.productionBoost() * actualParallel;
165+
double eutMultiplier = (maxParallel == actualParallel) ?
166+
turbineMachine.productionBoost() * turbineMaxVoltage / EUt.voltage() :
167+
turbineMachine.productionBoost() * actualParallel;
162168

163169
return ModifierFunction.builder()
164170
.inputModifier(ContentModifier.multiplier(actualParallel))

0 commit comments

Comments
 (0)