diff options
Diffstat (limited to 'src/main')
3 files changed, 22 insertions, 2 deletions
diff --git a/src/main/java/gregtech/api/gui/modularui/GTUITextures.java b/src/main/java/gregtech/api/gui/modularui/GTUITextures.java index 125e1640b0..b8e652dde1 100644 --- a/src/main/java/gregtech/api/gui/modularui/GTUITextures.java +++ b/src/main/java/gregtech/api/gui/modularui/GTUITextures.java @@ -405,6 +405,8 @@ public class GTUITextures { .fullImage(GregTech.ID, "gui/overlay_button/retract_pipes"); public static final UITexture OVERLAY_BUTTON_HOURGLASS = UITexture .fullImage(GregTech.ID, "gui/overlay_button/hourglass"); + public static final UITexture OVERLAY_BUTTON_PATTERN_OPTIMIZE = UITexture + .fullImage(GregTech.ID, "gui/overlay_button/pattern_optimize"); public static final UITexture OVERLAY_BUTTON_LIQUIDMODE = UITexture .fullImage(GregTech.ID, "gui/overlay_button/LiquidMode"); 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( @@ -502,6 +504,11 @@ public class MTEHatchCraftingInputME extends MTEHatchInputBus } @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 diff --git a/src/main/resources/assets/gregtech/textures/gui/overlay_button/pattern_optimize.png b/src/main/resources/assets/gregtech/textures/gui/overlay_button/pattern_optimize.png Binary files differnew file mode 100644 index 0000000000..c4602c72e4 --- /dev/null +++ b/src/main/resources/assets/gregtech/textures/gui/overlay_button/pattern_optimize.png |