aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorGlodBlock <1356392126@qq.com>2021-04-24 15:23:16 +0800
committerGlodBlock <1356392126@qq.com>2021-04-24 15:23:16 +0800
commit50b5d37081496ba11d84f79d13aa7e3cad1f0100 (patch)
treeb9fd6bd3932f7f50483a0aef48890a6c4ee9a888 /src/main
parent00eef66593a502b743ea3f356025cb5de2d55cc5 (diff)
downloadGT5-Unofficial-50b5d37081496ba11d84f79d13aa7e3cad1f0100.tar.gz
GT5-Unofficial-50b5d37081496ba11d84f79d13aa7e3cad1f0100.tar.bz2
GT5-Unofficial-50b5d37081496ba11d84f79d13aa7e3cad1f0100.zip
make the machine to auto transforme the output power into mulitAmperes
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/GoodGenerator/Blocks/TEs/MultiNqGenerator.java39
1 files changed, 33 insertions, 6 deletions
diff --git a/src/main/java/GoodGenerator/Blocks/TEs/MultiNqGenerator.java b/src/main/java/GoodGenerator/Blocks/TEs/MultiNqGenerator.java
index e5aec8de86..131b362372 100644
--- a/src/main/java/GoodGenerator/Blocks/TEs/MultiNqGenerator.java
+++ b/src/main/java/GoodGenerator/Blocks/TEs/MultiNqGenerator.java
@@ -40,6 +40,7 @@ public class MultiNqGenerator extends GT_MetaTileEntity_MultiblockBase_EM implem
protected String name;
private IStructureDefinition<MultiNqGenerator> multiDefinition = null;
private int ticker = 0;
+ private int leftEnergy = 0;
@Override
public void construct(ItemStack itemStack, boolean hintsOnly) {
@@ -226,7 +227,7 @@ public class MultiNqGenerator extends GT_MetaTileEntity_MultiblockBase_EM implem
else this.mOutputFluids = null;
if (tFluids.contains(Materials.LiquidAir.getFluid(120)) && tFluids.get(tFluids.indexOf(Materials.LiquidAir.getFluid(120))).amount >= 120){
depleteInput(Materials.LiquidAir.getFluid(120));
- addEnergyOutput_EM((long)(outputEU*booster),times);
+ addAutoEnergy((long)(outputEU*times*booster));
this.mEUt = (int)(outputEU*times*booster);
}
else{
@@ -243,6 +244,31 @@ public class MultiNqGenerator extends GT_MetaTileEntity_MultiblockBase_EM implem
return false;
}
+ public void addAutoEnergy(long outputPower){
+ if (this.eDynamoMulti.size() > 0)
+ for (GT_MetaTileEntity_Hatch tHatch : this.eDynamoMulti){
+ long voltage = tHatch.maxEUOutput();
+ long power = voltage * tHatch.maxAmperesOut();
+ long outputAmperes;
+ if (outputPower > power) doExplosion(4 * GT_Utility.getTier(power));
+ leftEnergy += outputPower;
+ outputAmperes = leftEnergy / voltage;
+ leftEnergy -= outputAmperes * voltage;
+ addEnergyOutput_EM(voltage ,outputAmperes);
+ }
+ if (this.mDynamoHatches.size() > 0)
+ for (GT_MetaTileEntity_Hatch tHatch : this.mDynamoHatches){
+ long voltage = tHatch.maxEUOutput();
+ long power = voltage * tHatch.maxAmperesOut();
+ long outputAmperes;
+ if (outputPower > power) doExplosion(4 * GT_Utility.getTier(power));
+ leftEnergy += outputPower;
+ outputAmperes = leftEnergy / voltage;
+ leftEnergy -= outputAmperes * voltage;
+ addEnergyOutput_EM(voltage ,outputAmperes);
+ }
+ }
+
@Override
public boolean onRunningTick(ItemStack stack) {
if (getBaseMetaTileEntity().isAllowedToWork()) {
@@ -252,6 +278,7 @@ public class MultiNqGenerator extends GT_MetaTileEntity_MultiblockBase_EM implem
if (!getBaseMetaTileEntity().isActive()) {
mRuntime = 0;
ticker = 0;
+ leftEnergy = 0;
}
if (ticker > 100000000) ticker = 0;
return true;
@@ -259,7 +286,7 @@ public class MultiNqGenerator extends GT_MetaTileEntity_MultiblockBase_EM implem
@Override
public boolean checkMachine_EM(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
- return structureCheck_EM(name, 3, 7, 0) && mMaintenanceHatches.size() == 1;
+ return structureCheck_EM(name, 3, 7, 0) && mMaintenanceHatches.size() == 1 && mDynamoHatches.size() + eDynamoMulti.size() == 1;
}
@Override
@@ -297,10 +324,10 @@ public class MultiNqGenerator extends GT_MetaTileEntity_MultiblockBase_EM implem
.addInfo("Input molten naquadria or enriched naquadah.")
.addInfo("Consume coolant 50mb/t to increase the efficiency:")
.addInfo("IC2 Coolant 105%, Super Coolant 150%, Cryotheum 275%")
- .addInfo("Consume excited liquid to increase the output ampere:")
- .addInfo("molten caesium | 2x ampere | 9mb/t ")
- .addInfo("molten uranium-235 | 3x ampere | 9mb/t")
- .addInfo("molten naquadah | 4x ampere | 1mb/t")
+ .addInfo("Consume excited liquid to increase the output power:")
+ .addInfo("molten caesium | 2x power | 9mb/t ")
+ .addInfo("molten uranium-235 | 3x power | 9mb/t")
+ .addInfo("molten naquadah | 4x power | 1mb/t")
.addSeparator()
.beginStructureBlock(7, 8, 7, true)
.addController("Front bottom")