diff options
Diffstat (limited to 'src/main/java/tectech/thing/metaTileEntity/multi/MTETeslaTower.java')
-rw-r--r-- | src/main/java/tectech/thing/metaTileEntity/multi/MTETeslaTower.java | 93 |
1 files changed, 35 insertions, 58 deletions
diff --git a/src/main/java/tectech/thing/metaTileEntity/multi/MTETeslaTower.java b/src/main/java/tectech/thing/metaTileEntity/multi/MTETeslaTower.java index fc160411e4..b47a755203 100644 --- a/src/main/java/tectech/thing/metaTileEntity/multi/MTETeslaTower.java +++ b/src/main/java/tectech/thing/metaTileEntity/multi/MTETeslaTower.java @@ -61,7 +61,7 @@ import gregtech.api.recipe.check.SimpleCheckRecipeResult; import gregtech.api.util.IGTHatchAdder; import gregtech.api.util.MultiblockTooltipBuilder; import gregtech.api.util.shutdown.ShutDownReason; -import tectech.TecTech; +import tectech.loader.ConfigHandler; import tectech.loader.NetworkDispatcher; import tectech.mechanics.spark.RendererMessage; import tectech.mechanics.spark.ThaumSpark; @@ -90,32 +90,6 @@ public class MTETeslaTower extends TTMultiblockBase implements ISurvivalConstruc private final HashSet<ThaumSpark> sparkList = new HashSet<>(); private int sparkCount = 10; - // region variables - private static final int transferRadiusTowerFromConfig = TecTech.configTecTech.TESLA_MULTI_RANGE_TOWER; // Default - // is 32 - private static final int transferRadiusTransceiverFromConfig = TecTech.configTecTech.TESLA_MULTI_RANGE_TRANSCEIVER; // Default - // is - // 16 - private static final int transferRadiusCoverUltimateFromConfig = TecTech.configTecTech.TESLA_MULTI_RANGE_COVER; // Default - // is - // 16 - private static final int plasmaRangeMultiT1 = TecTech.configTecTech.TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T1; // Default - // is 2 - private static final int plasmaRangeMultiT2 = TecTech.configTecTech.TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T2; // Default - // is 4 - private static final int heliumUse = TecTech.configTecTech.TESLA_MULTI_PLASMA_PER_SECOND_T1_HELIUM; // Default is - // 100 - private static final int nitrogenUse = TecTech.configTecTech.TESLA_MULTI_PLASMA_PER_SECOND_T1_NITROGEN; // Default - // is 50 - private static final int radonUse = TecTech.configTecTech.TESLA_MULTI_PLASMA_PER_SECOND_T2_RADON; // Default is 50 - private static final boolean visualEffect = TecTech.configTecTech.TESLA_VISUAL_EFFECT; // Default is true - // Default is {1, 1, 1} - private static final int[] plasmaTierLoss = new int[] { TecTech.configTecTech.TESLA_MULTI_LOSS_PER_BLOCK_T0, - TecTech.configTecTech.TESLA_MULTI_LOSS_PER_BLOCK_T1, TecTech.configTecTech.TESLA_MULTI_LOSS_PER_BLOCK_T2 }; - private static final float overDriveLoss = TecTech.configTecTech.TESLA_MULTI_LOSS_FACTOR_OVERDRIVE; // Default is - // 0.25F; - private static final boolean doFluidOutput = TecTech.configTecTech.TESLA_MULTI_GAS_OUTPUT; // Default is false - // Face icons private static Textures.BlockIcons.CustomIcon ScreenOFF; private static Textures.BlockIcons.CustomIcon ScreenON; @@ -295,8 +269,8 @@ public class MTETeslaTower extends TTMultiblockBase implements ISurvivalConstruc if (Double.isNaN(value)) return LedStatus.STATUS_WRONG; value = (int) value; if (value < 0) return LedStatus.STATUS_TOO_LOW; - if (value > transferRadiusTowerFromConfig) return LedStatus.STATUS_HIGH; - if (value < transferRadiusTowerFromConfig) return LedStatus.STATUS_LOW; + if (value > ConfigHandler.TeslaTweaks.TESLA_MULTI_RANGE_TOWER) return LedStatus.STATUS_HIGH; + if (value < ConfigHandler.TeslaTweaks.TESLA_MULTI_RANGE_TOWER) return LedStatus.STATUS_LOW; return LedStatus.STATUS_OK; }; private static final IStatusFunction<MTETeslaTower> TRANSFER_RADIUS_TRANSCEIVER_STATUS = (base, p) -> { @@ -304,8 +278,8 @@ public class MTETeslaTower extends TTMultiblockBase implements ISurvivalConstruc if (Double.isNaN(value)) return LedStatus.STATUS_WRONG; value = (int) value; if (value < 0) return LedStatus.STATUS_TOO_LOW; - if (value > transferRadiusTransceiverFromConfig) return LedStatus.STATUS_HIGH; - if (value < transferRadiusTransceiverFromConfig) return LedStatus.STATUS_LOW; + if (value > ConfigHandler.TeslaTweaks.TESLA_MULTI_RANGE_TRANSCEIVER) return LedStatus.STATUS_HIGH; + if (value < ConfigHandler.TeslaTweaks.TESLA_MULTI_RANGE_TRANSCEIVER) return LedStatus.STATUS_LOW; return LedStatus.STATUS_OK; }; private static final IStatusFunction<MTETeslaTower> TRANSFER_RADIUS_COVER_ULTIMATE_STATUS = (base, p) -> { @@ -313,8 +287,8 @@ public class MTETeslaTower extends TTMultiblockBase implements ISurvivalConstruc if (Double.isNaN(value)) return LedStatus.STATUS_WRONG; value = (int) value; if (value < 0) return LedStatus.STATUS_TOO_LOW; - if (value > transferRadiusCoverUltimateFromConfig) return LedStatus.STATUS_HIGH; - if (value < transferRadiusCoverUltimateFromConfig) return LedStatus.STATUS_LOW; + if (value > ConfigHandler.TeslaTweaks.TESLA_MULTI_RANGE_COVER) return LedStatus.STATUS_HIGH; + if (value < ConfigHandler.TeslaTweaks.TESLA_MULTI_RANGE_COVER) return LedStatus.STATUS_LOW; return LedStatus.STATUS_OK; }; private static final IStatusFunction<MTETeslaTower> OUTPUT_VOLTAGE_OR_CURRENT_STATUS = (base, p) -> { @@ -394,10 +368,10 @@ public class MTETeslaTower extends TTMultiblockBase implements ISurvivalConstruc int plasmaBoost; switch (plasmaTier) { case 2: - plasmaBoost = plasmaRangeMultiT2; + plasmaBoost = ConfigHandler.TeslaTweaks.TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T2; break; case 1: - plasmaBoost = plasmaRangeMultiT1; + plasmaBoost = ConfigHandler.TeslaTweaks.TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T1; break; default: plasmaBoost = 1; @@ -421,27 +395,24 @@ public class MTETeslaTower extends TTMultiblockBase implements ISurvivalConstruc for (MTEHatchInput fluidHatch : mInputHatches) { if (fluidHatch.mFluid != null) { if (fluidHatch.mFluid.isFluidEqual(Materials.Helium.getPlasma(1)) - && fluidHatch.mFluid.amount >= heliumUse) { - fluidHatch.mFluid.amount = fluidHatch.mFluid.amount - heliumUse; - if (doFluidOutput) { - mOutputFluidsQueue = new FluidStack[] { Materials.Helium.getGas(heliumUse) }; - } + && fluidHatch.mFluid.amount >= ConfigHandler.TeslaTweaks.TESLA_MULTI_PLASMA_PER_SECOND_T1_HELIUM) { + fluidHatch.mFluid.amount = fluidHatch.mFluid.amount + - ConfigHandler.TeslaTweaks.TESLA_MULTI_PLASMA_PER_SECOND_T1_HELIUM; + plasmaTier = 1; return; - } else if (fluidHatch.mFluid.isFluidEqual(Materials.Nitrogen.getPlasma(1)) - && fluidHatch.mFluid.amount >= nitrogenUse) { - fluidHatch.mFluid.amount = fluidHatch.mFluid.amount - nitrogenUse; - if (doFluidOutput) { - mOutputFluidsQueue = new FluidStack[] { Materials.Nitrogen.getGas(nitrogenUse) }; - } + } else if (fluidHatch.mFluid.isFluidEqual(Materials.Nitrogen.getPlasma(1)) && fluidHatch.mFluid.amount + >= ConfigHandler.TeslaTweaks.TESLA_MULTI_PLASMA_PER_SECOND_T1_NITROGEN) { + fluidHatch.mFluid.amount = fluidHatch.mFluid.amount + - ConfigHandler.TeslaTweaks.TESLA_MULTI_PLASMA_PER_SECOND_T1_NITROGEN; + plasmaTier = 1; return; - } else if (fluidHatch.mFluid.isFluidEqual(Materials.Radon.getPlasma(1)) - && fluidHatch.mFluid.amount >= radonUse) { - fluidHatch.mFluid.amount = fluidHatch.mFluid.amount - radonUse; - if (doFluidOutput) { - mOutputFluidsQueue = new FluidStack[] { Materials.Radon.getGas(radonUse) }; - } + } else if (fluidHatch.mFluid.isFluidEqual(Materials.Radon.getPlasma(1)) && fluidHatch.mFluid.amount + >= ConfigHandler.TeslaTweaks.TESLA_MULTI_PLASMA_PER_SECOND_T2_RADON) { + fluidHatch.mFluid.amount = fluidHatch.mFluid.amount + - ConfigHandler.TeslaTweaks.TESLA_MULTI_PLASMA_PER_SECOND_T2_RADON; + plasmaTier = 2; return; } @@ -653,18 +624,18 @@ public class MTETeslaTower extends TTMultiblockBase implements ISurvivalConstruc popogaSetting = hatch_1.makeInParameter(1, 0, POPOGA_NAME, POPOGA_STATUS); transferRadiusTowerSetting = hatch_2.makeInParameter( 0, - transferRadiusTowerFromConfig, + ConfigHandler.TeslaTweaks.TESLA_MULTI_RANGE_TOWER, TRANSFER_RADIUS_TOWER_SETTING_NAME, TRANSFER_RADIUS_TOWER_STATUS); popogaSetting = hatch_2.makeInParameter(1, 0, POPOGA_NAME, POPOGA_STATUS); transferRadiusTransceiverSetting = hatch_3.makeInParameter( 0, - transferRadiusTransceiverFromConfig, + ConfigHandler.TeslaTweaks.TESLA_MULTI_RANGE_TRANSCEIVER, TRANSFER_RADIUS_TRANSCEIVER_SETTING_NAME, TRANSFER_RADIUS_TRANSCEIVER_STATUS); transferRadiusCoverUltimateSetting = hatch_3.makeInParameter( 1, - transferRadiusCoverUltimateFromConfig, + ConfigHandler.TeslaTweaks.TESLA_MULTI_RANGE_COVER, TRANSFER_RADIUS_COVER_ULTIMATE_SETTING_NAME, TRANSFER_RADIUS_COVER_ULTIMATE_STATUS); outputVoltageSetting = hatch_4 @@ -775,7 +746,7 @@ public class MTETeslaTower extends TTMultiblockBase implements ISurvivalConstruc outputMaxDisplay.set(Math.max(outputCurrentDisplay.get(), outputMaxDisplay.get())); // TODO Encapsulate the spark sender sparkCount--; - if (sparkCount == 0 && visualEffect) { + if (sparkCount == 0 && ConfigHandler.teslaTweaks.TESLA_VISUAL_EFFECT) { IGregTechTileEntity mte = getBaseMetaTileEntity(); sparkCount = 10; if (!sparkList.isEmpty()) { @@ -910,12 +881,18 @@ public class MTETeslaTower extends TTMultiblockBase implements ISurvivalConstruc @Override public int getTeslaEnergyLossPerBlock() { - return plasmaTierLoss[plasmaTier]; + + return switch (plasmaTier) { + case 0 -> ConfigHandler.TeslaTweaks.TESLA_MULTI_LOSS_PER_BLOCK_T0; + case 1 -> ConfigHandler.TeslaTweaks.TESLA_MULTI_LOSS_PER_BLOCK_T1; + case 2 -> ConfigHandler.TeslaTweaks.TESLA_MULTI_LOSS_PER_BLOCK_T2; + default -> throw new IllegalStateException(); + }; } @Override public float getTeslaOverdriveLossCoefficient() { - return overDriveLoss; + return ConfigHandler.TeslaTweaks.TESLA_MULTI_LOSS_FACTOR_OVERDRIVE; } @Override |