From d8d1a7dc8e4d8d7bc116ad99e64cead242d8be0c Mon Sep 17 00:00:00 2001 From: GlodBlock <1356392126@qq.com> Date: Fri, 20 Aug 2021 12:41:02 +0800 Subject: update TecTech lib --- build.gradle | 2 +- libs/TecTech-1.7.10-4.10.4-d35bc08e.jar | Bin 3515409 -> 0 bytes libs/TecTech-1.7.10-4.10.6-5fc2d0d2-dev.jar | Bin 0 -> 3480625 bytes .../Blocks/TEs/LargeEssentiaGenerator.java | 57 ++++++++++++++++----- .../resources/assets/goodgenerator/lang/en_US.lang | 3 +- 5 files changed, 46 insertions(+), 16 deletions(-) delete mode 100644 libs/TecTech-1.7.10-4.10.4-d35bc08e.jar create mode 100644 libs/TecTech-1.7.10-4.10.6-5fc2d0d2-dev.jar 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.4-d35bc08e.jar deleted file mode 100644 index 48ca248775..0000000000 Binary files a/libs/TecTech-1.7.10-4.10.4-d35bc08e.jar and /dev/null differ diff --git a/libs/TecTech-1.7.10-4.10.6-5fc2d0d2-dev.jar b/libs/TecTech-1.7.10-4.10.6-5fc2d0d2-dev.jar new file mode 100644 index 0000000000..045fb6fc98 Binary files /dev/null and b/libs/TecTech-1.7.10-4.10.6-5fc2d0d2-dev.jar 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 multiDefinition = null; protected final int ENERGY_PER_ESSENTIA_DEFAULT = 512; protected int mStableValue = 0; + protected long mLeftEnergy; protected ArrayList 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 -- cgit