From a56dc4aa56410249ea6a23b828deecec69547ddc Mon Sep 17 00:00:00 2001 From: HoleFish <48403212+HoleFish@users.noreply.github.com> Date: Mon, 18 Dec 2023 19:29:06 +0800 Subject: [PATCH] Batch mode for compact fusion MKIV-V (#223) * batch mode * Update en_US.lang (cherry picked from commit 33566b87bc49280f0efe261da14c8b509eaecb93) --- .../base/LargeFusionComputerPP.java | 31 +++++++++++++++++++ .../assets/goodgenerator/lang/en_US.lang | 1 + 2 files changed, 32 insertions(+) diff --git a/src/main/java/goodgenerator/blocks/tileEntity/base/LargeFusionComputerPP.java b/src/main/java/goodgenerator/blocks/tileEntity/base/LargeFusionComputerPP.java index 9583d301..11f55dff 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/base/LargeFusionComputerPP.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/base/LargeFusionComputerPP.java @@ -1,9 +1,25 @@ package goodgenerator.blocks.tileEntity.base; +import static net.minecraft.util.StatCollector.translateToLocal; + +import com.github.technus.tectech.thing.metaTileEntity.multi.base.INameFunction; +import com.github.technus.tectech.thing.metaTileEntity.multi.base.IStatusFunction; +import com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus; +import com.github.technus.tectech.thing.metaTileEntity.multi.base.Parameters; + import gregtech.api.logic.ProcessingLogic; public abstract class LargeFusionComputerPP extends LargeFusionComputer { + protected Parameters.Group.ParameterIn batchSetting; + + /** Name of the batch setting */ + private static final INameFunction BATCH_SETTING_NAME = (base, + p) -> translateToLocal("gt.blockmachines.LargeFusionComputerPP.cfgi.0"); // Batch size + /** Status of the batch setting */ + private static final IStatusFunction BATCH_STATUS = (base, p) -> LedStatus + .fromLimitsInclusiveOuterBoundary(p.get(), 1, 0, 32, 128); + public LargeFusionComputerPP(String name) { super(name); } @@ -23,4 +39,19 @@ protected long getSingleHatchPower() { return super.getSingleHatchPower() * 8; } + @Override + protected void parametersInstantiation_EM() { + batchSetting = parametrization.getGroup(9, false).makeInParameter(1, 1, BATCH_SETTING_NAME, BATCH_STATUS); + } + + @Override + protected int getMaxBatchSize() { + // Batch size 1~128 + return (int) Math.min(Math.max(batchSetting.get(), 1.0D), 128.0D); + } + + @Override + public boolean getDefaultBatchMode() { + return true; + } } diff --git a/src/main/resources/assets/goodgenerator/lang/en_US.lang b/src/main/resources/assets/goodgenerator/lang/en_US.lang index 57ca4fe5..7c579e23 100644 --- a/src/main/resources/assets/goodgenerator/lang/en_US.lang +++ b/src/main/resources/assets/goodgenerator/lang/en_US.lang @@ -310,6 +310,7 @@ gui.YOTTank.button.void=Void Excess gui.YOTTank.button.locking=Fluid locking gui.LargeFusion.0=Energy Capacity: gui.LargeFusion.1=Stored Energy: +gt.blockmachines.LargeFusionComputerPP.cfgi.0=Batch Size # RecipeMaps gg.recipe.naquadah_reactor=Large Naquadah Reactor