aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlodBlock <1356392126@qq.com>2021-08-20 12:41:02 +0800
committerGlodBlock <1356392126@qq.com>2021-08-20 12:41:02 +0800
commitd8d1a7dc8e4d8d7bc116ad99e64cead242d8be0c (patch)
treedc4787788c7146c03a8e609abc7e3cfd098ed067
parent3534b7dd4bfe5f7bcdc030cd69e201a012aa6977 (diff)
downloadGT5-Unofficial-d8d1a7dc8e4d8d7bc116ad99e64cead242d8be0c.tar.gz
GT5-Unofficial-d8d1a7dc8e4d8d7bc116ad99e64cead242d8be0c.tar.bz2
GT5-Unofficial-d8d1a7dc8e4d8d7bc116ad99e64cead242d8be0c.zip
update TecTech lib
-rw-r--r--build.gradle2
-rw-r--r--libs/TecTech-1.7.10-4.10.6-5fc2d0d2-dev.jar (renamed from libs/TecTech-1.7.10-4.10.4-d35bc08e.jar)bin3515409 -> 3480625 bytes
-rw-r--r--src/main/java/GoodGenerator/Blocks/TEs/LargeEssentiaGenerator.java57
-rw-r--r--src/main/resources/assets/goodgenerator/lang/en_US.lang3
4 files changed, 46 insertions, 16 deletions
diff --git a/build.gradle b/build.gradle
index 2b3e16fabe..b6d3145fc9 100644
--- a/build.gradle
+++ b/build.gradle
@@ -102,7 +102,7 @@ dependencies {
/* compileOnly("com.github.GTNewHorizons:Avaritia:master-SNAPSHOT") {
setChanging(true)
}*/
- compile files('libs/TecTech-1.7.10-4.10.4-d35bc08e.jar')
+ compile files('libs/TecTech-1.7.10-4.10.6-5fc2d0d2-dev.jar')
compile files('libs/bartworks[1.7.10]-[test]-0.5.19-dev.jar')
compileOnly("thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev")
runtime("eu.usrv:YAMCore:${minecraftVersion}-${yamcoreVersion}:deobf");
diff --git a/libs/TecTech-1.7.10-4.10.4-d35bc08e.jar b/libs/TecTech-1.7.10-4.10.6-5fc2d0d2-dev.jar
index 48ca248775..045fb6fc98 100644
--- a/libs/TecTech-1.7.10-4.10.4-d35bc08e.jar
+++ b/libs/TecTech-1.7.10-4.10.6-5fc2d0d2-dev.jar
Binary files differ
diff --git a/src/main/java/GoodGenerator/Blocks/TEs/LargeEssentiaGenerator.java b/src/main/java/GoodGenerator/Blocks/TEs/LargeEssentiaGenerator.java
index ec2ffc1324..0e36d78b0c 100644
--- a/src/main/java/GoodGenerator/Blocks/TEs/LargeEssentiaGenerator.java
+++ b/src/main/java/GoodGenerator/Blocks/TEs/LargeEssentiaGenerator.java
@@ -18,7 +18,6 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.implementations.*;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.render.TextureFactory;
-import gregtech.api.util.GT_Log;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
@@ -40,6 +39,7 @@ public class LargeEssentiaGenerator extends GT_MetaTileEntity_MultiblockBase_EM
private IStructureDefinition<LargeEssentiaGenerator> multiDefinition = null;
protected final int ENERGY_PER_ESSENTIA_DEFAULT = 512;
protected int mStableValue = 0;
+ protected long mLeftEnergy;
protected ArrayList<EssentiaHatch> mEssentiaHatch = new ArrayList<>();
public LargeEssentiaGenerator(String name){
@@ -73,19 +73,21 @@ public class LargeEssentiaGenerator extends GT_MetaTileEntity_MultiblockBase_EM
@Override
public boolean checkMachine_EM(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
mStableValue = 0;
- return structureCheck_EM(mName, 4, 0, 4);
+ return structureCheck_EM(mName, 4, 0, 4) && (mDynamoHatches.size() + eDynamoMulti.size()) == 1;
}
@Override
public void loadNBTData(NBTTagCompound aNBT) {
super.loadNBTData(aNBT);
this.mStableValue = aNBT.getInteger("mStableValue");
+ this.mLeftEnergy = aNBT.getLong("mLeftEnergy");
}
@Override
public void saveNBTData(NBTTagCompound aNBT) {
super.saveNBTData(aNBT);
aNBT.setInteger("mStableValue", this.mStableValue);
+ aNBT.setLong("mLeftEnergy", this.mLeftEnergy);
}
public void getEssentiaHatch() {
@@ -213,20 +215,32 @@ public class LargeEssentiaGenerator extends GT_MetaTileEntity_MultiblockBase_EM
this.mEfficiency = 10000;
this.mMaxProgresstime = 1;
getEssentiaHatch();
- this.mEUt = (int)getEssentiaToEU(getPower());
+ setEssentiaToEUVoltageAndAmp(getVoltageLimit(), getAmpLimit());
return true;
}
- public long getPower() {
- long power = 0;
+ public int getVoltageLimit() {
+ long voltage = 0;
for (GT_MetaTileEntity_Hatch tHatch : this.eDynamoMulti) {
- power += tHatch.maxEUOutput() * tHatch.maxAmperesOut();
+ voltage += tHatch.maxEUOutput();
}
for (GT_MetaTileEntity_Hatch tHatch : this.mDynamoHatches) {
- power += tHatch.maxEUOutput() * tHatch.maxAmperesOut();
+ voltage += tHatch.maxEUOutput();
}
- if (power > Integer.MAX_VALUE) power = Integer.MAX_VALUE;
- return power;
+ if (voltage > Integer.MAX_VALUE) voltage = Integer.MAX_VALUE;
+ return (int)voltage;
+ }
+
+ public int getAmpLimit() {
+ long amp = 0;
+ for (GT_MetaTileEntity_Hatch tHatch : this.eDynamoMulti) {
+ amp += tHatch.maxAmperesOut();
+ }
+ for (GT_MetaTileEntity_Hatch tHatch : this.mDynamoHatches) {
+ amp += tHatch.maxAmperesOut();
+ }
+ if (amp > Integer.MAX_VALUE) amp = Integer.MAX_VALUE;
+ return (int)amp;
}
public long getPerAspectEnergy(Aspect aspect) {
@@ -244,13 +258,14 @@ public class LargeEssentiaGenerator extends GT_MetaTileEntity_MultiblockBase_EM
return ENERGY_PER_ESSENTIA_DEFAULT * mStableValue / 25;
}
- public long getEssentiaToEU(long EULimit) {
- long EUt = 0;
+ public void setEssentiaToEUVoltageAndAmp(long voltageLimit, long ampLimit) {
+ long EUt = mLeftEnergy;
+ long EUVoltage = voltageLimit, EUAmp = 1;
for (EssentiaHatch hatch: this.mEssentiaHatch){
AspectList aspects = hatch.getAspects();
for (Aspect aspect: aspects.aspects.keySet()) {
- while (EUt + getPerAspectEnergy(aspect) <= EULimit && aspects.getAmount(aspect) > 0) {
+ while (EUt + getPerAspectEnergy(aspect) <= (voltageLimit * ampLimit) && aspects.getAmount(aspect) > 0) {
EUt += getPerAspectEnergy(aspect);
aspects.reduce(aspect, 1);
if (aspects.getAmount(aspect) == 0)
@@ -258,7 +273,21 @@ public class LargeEssentiaGenerator extends GT_MetaTileEntity_MultiblockBase_EM
}
}
}
- return EUt;
+
+ if (EUt <= voltageLimit) {
+ EUVoltage = EUt;
+ EUAmp = 1;
+ mLeftEnergy = 0;
+ }
+ else {
+ while (EUVoltage * (EUAmp + 1) <= EUt) {
+ EUAmp ++;
+ }
+ mLeftEnergy = EUt - (EUVoltage * EUAmp);
+ }
+
+ this.mEUt = (int)EUVoltage;
+ this.eAmpereFlow = (int)EUAmp;
}
@Override
@@ -268,7 +297,7 @@ public class LargeEssentiaGenerator extends GT_MetaTileEntity_MultiblockBase_EM
@Override
public String[] getStructureDescription(ItemStack itemStack) {
- return DescTextLocalization.addText("LargeEssentiaGenerator.hint", 5);
+ return DescTextLocalization.addText("LargeEssentiaGenerator.hint", 6);
}
@Override
diff --git a/src/main/resources/assets/goodgenerator/lang/en_US.lang b/src/main/resources/assets/goodgenerator/lang/en_US.lang
index 210fcff57d..eff9b3543f 100644
--- a/src/main/resources/assets/goodgenerator/lang/en_US.lang
+++ b/src/main/resources/assets/goodgenerator/lang/en_US.lang
@@ -161,7 +161,8 @@ LargeEssentiaGenerator.hint.0=25x Any Essentia Cell
LargeEssentiaGenerator.hint.1=4x Amber Bricks
LargeEssentiaGenerator.hint.2=24x Arcane Stone Bricks
LargeEssentiaGenerator.hint.3=At least 53x Magic Casings
-LargeEssentiaGenerator.hint.4=1 - Maintenance Hatch/Input Hatch/Dynamo Hatch/Essentia Input Hatch
+LargeEssentiaGenerator.hint.4=1x Dynamo Hatch
+LargeEssentiaGenerator.hint.5=1 - Maintenance Hatch/Input Hatch/Dynamo Hatch/Essentia Input Hatch
NeutronActivator.hint.0=16x Steel Frame Boxes
NeutronActivator.hint.1=18x Processor Machine Casings
NeutronActivator.hint.2=32x Reinforced Glasses