diff options
author | GlodBlock <1356392126@qq.com> | 2021-07-23 18:53:23 +0800 |
---|---|---|
committer | GlodBlock <1356392126@qq.com> | 2021-07-23 18:53:23 +0800 |
commit | b3f7ac203250cf3f9acd1accda75d1dac8ba4013 (patch) | |
tree | 457b6ca2108c3729ad7668462e8505efdd204610 /src/main | |
parent | f13d6569ad7165c036cb552867b7a2a3cc36f21c (diff) | |
download | GT5-Unofficial-b3f7ac203250cf3f9acd1accda75d1dac8ba4013.tar.gz GT5-Unofficial-b3f7ac203250cf3f9acd1accda75d1dac8ba4013.tar.bz2 GT5-Unofficial-b3f7ac203250cf3f9acd1accda75d1dac8ba4013.zip |
add mEfficiency to make mEUt work
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/GoodGenerator/Blocks/TEs/FuelRefineFactory.java | 26 | ||||
-rw-r--r-- | src/main/java/GoodGenerator/Blocks/TEs/UniversalChemicalFuelEngine.java | 53 |
2 files changed, 19 insertions, 60 deletions
diff --git a/src/main/java/GoodGenerator/Blocks/TEs/FuelRefineFactory.java b/src/main/java/GoodGenerator/Blocks/TEs/FuelRefineFactory.java index 8cb53b37d8..2c759af2d9 100644 --- a/src/main/java/GoodGenerator/Blocks/TEs/FuelRefineFactory.java +++ b/src/main/java/GoodGenerator/Blocks/TEs/FuelRefineFactory.java @@ -207,6 +207,12 @@ public class FuelRefineFactory extends GT_MetaTileEntity_MultiblockBase_EM imple @Override public boolean checkMachine_EM(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { cnt[0] = 0;cnt[1] = 0;cnt[2] = 0; + mWrench = true; + mScrewdriver = true; + mSoftHammer = true; + mHardHammer = true; + mSolderingTool = true; + mCrowbar = true; return structureCheck_EM(mName, 7,12,1) && getTier() != -1; } @@ -256,11 +262,13 @@ public class FuelRefineFactory extends GT_MetaTileEntity_MultiblockBase_EM imple FluidStack[] inFluids = tFluids.toArray(new FluidStack[0]); ItemStack[] inItems = tItems.toArray(new ItemStack[0]); + this.mEfficiency = 10000; for (GT_Recipe recipe : tRecipes){ if (recipe.mSpecialValue > Tier) continue; if (recipe.isRecipeInputEqual(true, inFluids, inItems)){ mEUt = recipe.mEUt; + mEUt = -Math.abs(mEUt); mMaxProgresstime = recipe.mDuration / (1 << (Tier - recipe.mSpecialValue)); this.mOutputFluids = recipe.mFluidOutputs; this.updateSlots(); @@ -299,29 +307,13 @@ public class FuelRefineFactory extends GT_MetaTileEntity_MultiblockBase_EM imple } @Override - public boolean onRunningTick(ItemStack stack) { - return true; - } - - @Override - public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - super.onPostTick(aBaseMetaTileEntity, aTick); - mWrench = true; - mScrewdriver = true; - mSoftHammer = true; - mHardHammer = true; - mSolderingTool = true; - mCrowbar = true; - } - - @Override public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { return new FuelRefineFactory(this.mName); } @Override public int getMaxEfficiency(ItemStack aStack) { - return 0; + return 10000; } @Override diff --git a/src/main/java/GoodGenerator/Blocks/TEs/UniversalChemicalFuelEngine.java b/src/main/java/GoodGenerator/Blocks/TEs/UniversalChemicalFuelEngine.java index 0a29bc16c2..e9f96bdf2b 100644 --- a/src/main/java/GoodGenerator/Blocks/TEs/UniversalChemicalFuelEngine.java +++ b/src/main/java/GoodGenerator/Blocks/TEs/UniversalChemicalFuelEngine.java @@ -19,7 +19,6 @@ import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; @@ -37,8 +36,6 @@ public class UniversalChemicalFuelEngine extends GT_MetaTileEntity_MultiblockBas protected final double DIESEL_EFFICIENCY_COEFFICIENT = 0.45D; protected final double GAS_EFFICIENCY_COEFFICIENT = 0.30D; - protected long leftEnergy = 0; - private IStructureDefinition<UniversalChemicalFuelEngine> multiDefinition = null; public UniversalChemicalFuelEngine(String name){super(name);} @@ -192,18 +189,6 @@ public class UniversalChemicalFuelEngine extends GT_MetaTileEntity_MultiblockBas } @Override - public void loadNBTData(NBTTagCompound aNBT){ - super.loadNBTData(aNBT); - this.leftEnergy = aNBT.getLong("mLeftEnergy"); - } - - @Override - public void saveNBTData(NBTTagCompound aNBT){ - super.saveNBTData(aNBT); - aNBT.setLong("mLeftEnergy", this.leftEnergy); - } - - @Override public String[] getDescription(){ final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); tt.addMachineType("Chemical Engine") @@ -247,14 +232,13 @@ public class UniversalChemicalFuelEngine extends GT_MetaTileEntity_MultiblockBas if (tFuel == null) continue; int FuelAmount = findLiquidAmount(tFuel, tFluids); if (FuelAmount == 0) continue; - double eff = calculateEfficiency(FuelAmount, PromoterAmount, DIESEL_EFFICIENCY_COEFFICIENT); + calculateEfficiency(FuelAmount, PromoterAmount, DIESEL_EFFICIENCY_COEFFICIENT); consumeAllLiquid(tFuel); consumeAllLiquid(getPromoter()); - this.mEUt = (int)(eff * FuelAmount * recipe.mSpecialValue / 20.0D); + this.mEUt = (int)(FuelAmount * recipe.mSpecialValue / 20.0D); this.mMaxProgresstime = 20; - addAutoEnergy((long)(eff * FuelAmount * recipe.mSpecialValue / 20.0D)); this.updateSlots(); return true; } @@ -264,14 +248,13 @@ public class UniversalChemicalFuelEngine extends GT_MetaTileEntity_MultiblockBas if (tFuel == null) continue; int FuelAmount = findLiquidAmount(tFuel, tFluids); if (FuelAmount == 0) continue; - double eff = calculateEfficiency(FuelAmount, PromoterAmount, GAS_EFFICIENCY_COEFFICIENT); + calculateEfficiency(FuelAmount, PromoterAmount, GAS_EFFICIENCY_COEFFICIENT); consumeAllLiquid(tFuel); consumeAllLiquid(getPromoter()); - this.mEUt = (int)(eff * FuelAmount * recipe.mSpecialValue / 20.0D); + this.mEUt = (int)(FuelAmount * recipe.mSpecialValue / 20.0D); this.mMaxProgresstime = 20; - addAutoEnergy((long)(eff * FuelAmount * recipe.mSpecialValue / 20.0D)); this.updateSlots(); return true; } @@ -279,25 +262,6 @@ public class UniversalChemicalFuelEngine extends GT_MetaTileEntity_MultiblockBas return false; } - public void addAutoEnergy(long outputPower){ - 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(8 * GT_Utility.getTier(power)); - if (outputPower >= voltage){ - leftEnergy += outputPower; - outputAmperes = leftEnergy / voltage; - leftEnergy -= outputAmperes * voltage; - addEnergyOutput_EM(voltage, outputAmperes); - } - else{ - addEnergyOutput_EM(outputPower, 1); - } - } - } - public FluidStack getPromoter() { return FluidRegistry.getFluidStack("combustionpromotor", 1); } @@ -306,9 +270,12 @@ public class UniversalChemicalFuelEngine extends GT_MetaTileEntity_MultiblockBas return GT_Utility.getFluidForFilledItem(aFuel.mInputs[0], true); } - public double calculateEfficiency(int aFuel, int aPromoter, double coefficient){ - if (aPromoter == 0) return 0.0d; - return Math.exp(-coefficient * (double)aFuel / (double)aPromoter); + public void calculateEfficiency(int aFuel, int aPromoter, double coefficient){ + if (aPromoter == 0){ + this.mEfficiency = 0; + return; + } + this.mEfficiency = (int)(Math.exp(-coefficient * (double)aFuel / (double)aPromoter) * 10000); } public int findLiquidAmount(FluidStack liquid, List<FluidStack> input) { |