From 05d8cd3cf5e9665a4142b039fff9d20952513583 Mon Sep 17 00:00:00 2001 From: Glease <4586901+Glease@users.noreply.github.com> Date: Fri, 5 Aug 2022 18:00:16 +0800 Subject: fix XL turbine having wrong stat after chunk reload in fast mode (#269) --- .../turbines/GT_MTE_LargeTurbine_Plasma.java | 2 +- .../GregtechMetaTileEntity_LargerTurbineBase.java | 39 ++++++++++++---------- 2 files changed, 22 insertions(+), 19 deletions(-) (limited to 'src/main') diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Plasma.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Plasma.java index 0bda1b83e4..b2749cba98 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Plasma.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Plasma.java @@ -104,7 +104,7 @@ public class GT_MTE_LargeTurbine_Plasma extends GregtechMetaTileEntity_LargerTur float aTotalBaseEff = 0; float aTotalOptimalFlow = 0; ItemStack aStack = getFullTurbineAssemblies().get(0).getTurbine(); - for (int i=0;i 1000) { mRuntime = 0; - if (getBaseMetaTileEntity().getRandomNumber(6000) < maintenanceThreshold) { + if (getBaseMetaTileEntity().getRandomNumber(6000) < getMaintenanceThreshold()) { switch (getBaseMetaTileEntity().getRandomNumber(6)) { case 0: mWrench = false; @@ -604,7 +600,7 @@ public abstract class GregtechMetaTileEntity_LargerTurbineBase extends GregtechM // The amount of times it is run depends on turbineDamageMultiplier // In XL turbines, durability loss is around 5.2-5.3x faster than in singles // To compensate for that, the mEU/t scaling is divided by 5 to make it only slightly faster - for (int i = 0; i < turbineDamageMultiplier; i++) { + for (int i = 0; i < getTurbineDamageMultiplier(); i++) { aHatch.damageTurbine(mEUt / 5, damageFactorLow, damageFactorHigh); } } @@ -639,7 +635,7 @@ public abstract class GregtechMetaTileEntity_LargerTurbineBase extends GregtechM @Override public String[] getExtraInfoData() { int mPollutionReduction=(int) (100 * mufflerReduction); - + String tRunning = mMaxProgresstime > 0 ? EnumChatFormatting.GREEN+StatCollector.translateToLocal("GT5U.turbine.running.true")+EnumChatFormatting.RESET : EnumChatFormatting.RED+StatCollector.translateToLocal("GT5U.turbine.running.false")+EnumChatFormatting.RESET; @@ -695,7 +691,7 @@ public abstract class GregtechMetaTileEntity_LargerTurbineBase extends GregtechM public boolean polluteEnvironment(int aPollutionLevel) { if (this.requiresMufflers()) { - mPollution += aPollutionLevel * pollutionMultiplier * mufflerReduction; + mPollution += aPollutionLevel * getPollutionMultiplier() * mufflerReduction; for (GT_MetaTileEntity_Hatch_Muffler tHatch : mMufflerHatches) { if (isValidMetaTileEntity(tHatch)) { if (mPollution >= 10000) { @@ -738,17 +734,9 @@ public abstract class GregtechMetaTileEntity_LargerTurbineBase extends GregtechM mFastMode = Utils.invertBoolean(mFastMode); if (mFastMode){ PlayerUtils.messagePlayer(aPlayer, "Running in Fast (48x) Mode."); - speedMultiplier = 48; - maintenanceThreshold = 12; - pollutionMultiplier = 3; - turbineDamageMultiplier = 3; } else { PlayerUtils.messagePlayer(aPlayer, "Running in Slow (16x) Mode."); - speedMultiplier = 16; - maintenanceThreshold = 1; - pollutionMultiplier = 1; - turbineDamageMultiplier = 1; } } @@ -918,4 +906,19 @@ public abstract class GregtechMetaTileEntity_LargerTurbineBase extends GregtechM return injected > 0; } + public int getSpeedMultiplier() { + return mFastMode ? 48 : 16; + } + + public int getMaintenanceThreshold() { + return mFastMode ? 12 : 1; + } + + public int getPollutionMultiplier() { + return mFastMode ? 3 : 1; + } + + public int getTurbineDamageMultiplier() { + return mFastMode ? 3 : 1; + } } -- cgit