From c54c6573b993e31e8f2e0c06d001ea12d9eea245 Mon Sep 17 00:00:00 2001 From: kstvr32 <109012629+kstvr32@users.noreply.github.com> Date: Wed, 4 Sep 2024 07:27:10 -0400 Subject: Add support to disable pattern optimization in CRIBs (#3043) * add button to disable optimizing patterns in CRIBs * spotless --------- Co-authored-by: kstvr32 Co-authored-by: boubou19 --- .../machines/MTEHatchCraftingInputME.java | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'src/main/java/gregtech/common') diff --git a/src/main/java/gregtech/common/tileentities/machines/MTEHatchCraftingInputME.java b/src/main/java/gregtech/common/tileentities/machines/MTEHatchCraftingInputME.java index e5dfd72c68..b6adf65440 100644 --- a/src/main/java/gregtech/common/tileentities/machines/MTEHatchCraftingInputME.java +++ b/src/main/java/gregtech/common/tileentities/machines/MTEHatchCraftingInputME.java @@ -47,6 +47,7 @@ import com.gtnewhorizons.modularui.api.math.Size; import com.gtnewhorizons.modularui.api.screen.ModularWindow; import com.gtnewhorizons.modularui.api.screen.UIBuildContext; import com.gtnewhorizons.modularui.common.widget.ButtonWidget; +import com.gtnewhorizons.modularui.common.widget.CycleButtonWidget; import com.gtnewhorizons.modularui.common.widget.SlotGroup; import com.gtnewhorizons.modularui.common.widget.SlotWidget; @@ -333,6 +334,7 @@ public class MTEHatchCraftingInputME extends MTEHatchInputBus private String customName = null; private boolean supportFluids; private boolean additionalConnection = false; + private boolean disablePatternOptimization = false; public MTEHatchCraftingInputME(int aID, String aName, String aNameRegional, boolean supportFluids) { super( @@ -501,6 +503,11 @@ public class MTEHatchCraftingInputME extends MTEHatchInputBus return true; } + @Override + public boolean allowsPatternOptimization() { + return !disablePatternOptimization; + } + @Override public void gridChanged() { needPatternSync = true; @@ -534,6 +541,7 @@ public class MTEHatchCraftingInputME extends MTEHatchInputBus aNBT.setTag("internalInventory", internalInventoryNBT); if (customName != null) aNBT.setString("customName", customName); aNBT.setBoolean("additionalConnection", additionalConnection); + aNBT.setBoolean("disablePatternOptimization", disablePatternOptimization); getProxy().writeToNBT(aNBT); } @@ -584,6 +592,7 @@ public class MTEHatchCraftingInputME extends MTEHatchInputBus if (aNBT.hasKey("customName")) customName = aNBT.getString("customName"); additionalConnection = aNBT.getBoolean("additionalConnection"); + disablePatternOptimization = aNBT.getBoolean("disablePatternOptimization"); getProxy().readFromNBT(aNBT); } @@ -717,7 +726,7 @@ public class MTEHatchCraftingInputME extends MTEHatchInputBus .setBackground(GTUITextures.BUTTON_STANDARD, GTUITextures.OVERLAY_BUTTON_PLUS_LARGE) .addTooltips(ImmutableList.of("Place manual items")) .setSize(16, 16) - .setPos(170, 45)) + .setPos(170, 46)) .widget(new ButtonWidget().setOnClick((clickData, widget) -> { if (clickData.mouseButton == 0) { refundAll(); @@ -727,7 +736,16 @@ public class MTEHatchCraftingInputME extends MTEHatchInputBus .setBackground(GTUITextures.BUTTON_STANDARD, GTUITextures.OVERLAY_BUTTON_EXPORT) .addTooltips(ImmutableList.of("Return all internally stored items back to AE")) .setSize(16, 16) - .setPos(170, 28)); + .setPos(170, 28)) + .widget( + new CycleButtonWidget() + .setToggle(() -> disablePatternOptimization, val -> disablePatternOptimization = val) + .setStaticTexture(GTUITextures.OVERLAY_BUTTON_PATTERN_OPTIMIZE) + .setVariableBackground(GTUITextures.BUTTON_STANDARD_TOGGLE) + .addTooltip(0, "Pattern Optimization:\n§7Allowed") + .addTooltip(1, "Pattern Optimization:\n§7Disabled") + .setPos(170, 10) + .setSize(16, 16)); } @Override -- cgit