aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/goodgenerator/blocks
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/goodgenerator/blocks')
-rw-r--r--src/main/java/goodgenerator/blocks/tileEntity/SupercriticalFluidTurbine.java4
-rw-r--r--src/main/java/goodgenerator/blocks/tileEntity/base/GT_MetaTileEntity_LargeTurbineBase.java22
2 files changed, 24 insertions, 2 deletions
diff --git a/src/main/java/goodgenerator/blocks/tileEntity/SupercriticalFluidTurbine.java b/src/main/java/goodgenerator/blocks/tileEntity/SupercriticalFluidTurbine.java
index fcf842dfd8..a1fddba696 100644
--- a/src/main/java/goodgenerator/blocks/tileEntity/SupercriticalFluidTurbine.java
+++ b/src/main/java/goodgenerator/blocks/tileEntity/SupercriticalFluidTurbine.java
@@ -84,6 +84,10 @@ public class SupercriticalFluidTurbine extends GT_MetaTileEntity_LargeTurbineBas
tEU = Math.max(1, GT_Utility.safeInt((long) tEU * (long) aBaseEff / 100L));
}
+ if (tEU > maxPower) {
+ tEU = GT_Utility.safeInt(maxPower);
+ }
+
return tEU;
}
diff --git a/src/main/java/goodgenerator/blocks/tileEntity/base/GT_MetaTileEntity_LargeTurbineBase.java b/src/main/java/goodgenerator/blocks/tileEntity/base/GT_MetaTileEntity_LargeTurbineBase.java
index 0e44718e9e..41a471e2fd 100644
--- a/src/main/java/goodgenerator/blocks/tileEntity/base/GT_MetaTileEntity_LargeTurbineBase.java
+++ b/src/main/java/goodgenerator/blocks/tileEntity/base/GT_MetaTileEntity_LargeTurbineBase.java
@@ -80,6 +80,7 @@ public abstract class GT_MetaTileEntity_LargeTurbineBase
protected int storedFluid = 0;
protected int counter = 0;
protected boolean looseFit = false;
+ protected long maxPower = 0;
public GT_MetaTileEntity_LargeTurbineBase(int aID, String aName, String aNameRegional) {
super(aID, aName, aNameRegional);
@@ -101,9 +102,14 @@ public abstract class GT_MetaTileEntity_LargeTurbineBase
@Override
public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
- return checkPiece(STRUCTURE_PIECE_MAIN, 2, 2, 1)
+ maxPower = 0;
+ if (checkPiece(STRUCTURE_PIECE_MAIN, 2, 2, 1)
&& mMaintenanceHatches.size() == 1
- && mMufflerHatches.isEmpty() == (getPollutionPerTick(null) == 0);
+ && mMufflerHatches.isEmpty() == (getPollutionPerTick(null) == 0)) {
+ maxPower = getMaximumOutput();
+ return true;
+ }
+ return false;
}
public abstract Block getCasingBlock();
@@ -216,6 +222,18 @@ public abstract class GT_MetaTileEntity_LargeTurbineBase
return true;
}
+ public long getMaximumOutput() {
+ long aTotal = 0;
+ for (GT_MetaTileEntity_Hatch_Dynamo aDynamo : mDynamoHatches) {
+ if (isValidMetaTileEntity(aDynamo)) {
+ long aVoltage = aDynamo.maxEUOutput();
+ aTotal = aDynamo.maxAmperesOut() * aVoltage;
+ break;
+ }
+ }
+ return aTotal;
+ }
+
@Override
public String[] getInfoData() {
int mPollutionReduction = 0;