aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_QuantumForceTransformer.java21
1 files changed, 14 insertions, 7 deletions
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_QuantumForceTransformer.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_QuantumForceTransformer.java
index b5fc3b6ebb..392b52942d 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_QuantumForceTransformer.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_QuantumForceTransformer.java
@@ -712,9 +712,10 @@ public class GregtechMetaTileEntity_QuantumForceTransformer
private boolean processRecipe(
ItemStack[] aItemInputs, FluidStack[] aFluidInputs, GT_Recipe.GT_Recipe_Map aRecipeMap, ItemStack aStack) {
- long tVoltage =
- getMaxInputVoltage() / getExoticAndNormalEnergyHatchList().size();
- long tAmps = (long) Math.floor(getMaxInputAmps() * 0.80);
+ int hatches = getExoticAndNormalEnergyHatchList().size();
+ long tVoltage = getMaxInputVoltage() / hatches;
+ // Need to check weather the hatches used are TT ones or not as TT hatches can request 20% more amps
+ long tAmps = (long) Math.floor(mExoticEnergyHatches.isEmpty() ? getMaxInputAmps() : getMaxInputAmps() * 0.80);
long tTotalEUt = tVoltage * tAmps;
byte tTier = (byte) Math.max(1, GT_Utility.getTier(tVoltage));
GT_Recipe tRecipe = aRecipeMap
@@ -821,10 +822,8 @@ public class GregtechMetaTileEntity_QuantumForceTransformer
GT_Utility.copyAmountUnsafe(aItem.stackSize * mCurrentParallel, aItem));
}
} else {
- FluidStack aFluid = tRecipe.getFluidOutput(i - tRecipe.mOutputs.length)
- .copy();
- aFluid.amount *= mCurrentParallel;
- tFluidOutputs.add(aFluid);
+ FluidStack aFluid = tRecipe.getFluidOutput(i - tRecipe.mOutputs.length);
+ tFluidOutputs.add(new FluidStack(aFluid, aFluid.amount * mCurrentParallel));
}
}
}
@@ -1090,6 +1089,10 @@ public class GregtechMetaTileEntity_QuantumForceTransformer
long zMaxInputVoltage = maxInputVoltage / 100L * 95L;
long zTime = aDuration;
long zEUt = aEUt;
+ if (zEUt > zMaxInputVoltage) {
+ zTime = Integer.MAX_VALUE - 1;
+ zEUt = Long.MAX_VALUE - 1;
+ }
while (zEUt << 2 < zMaxInputVoltage) {
zEUt = zEUt << 2;
zTime = zTime >> (perfectOC ? 2 : 1);
@@ -1097,6 +1100,10 @@ public class GregtechMetaTileEntity_QuantumForceTransformer
break;
}
}
+ if (zEUt > zMaxInputVoltage) {
+ zEUt = zEUt >> 2;
+ zTime = zTime << (perfectOC ? 2 : 1);
+ }
if (zTime <= 0) {
zTime = 1;
}