From 8e3c8829d737d92da5503bd34d0c51130b6b3f00 Mon Sep 17 00:00:00 2001 From: miozune Date: Sun, 11 Jun 2023 02:19:54 +0900 Subject: Enable input separation by default if it's supported (#2072) --- .../interfaces/modularui/ControllerWithOptionalFeatures.java | 12 ++++++++++++ .../java/gregtech/api/interfaces/tileentity/IVoidable.java | 4 ++++ 2 files changed, 16 insertions(+) (limited to 'src/main/java/gregtech/api/interfaces') diff --git a/src/main/java/gregtech/api/interfaces/modularui/ControllerWithOptionalFeatures.java b/src/main/java/gregtech/api/interfaces/modularui/ControllerWithOptionalFeatures.java index e6e3142196..9f862e254d 100644 --- a/src/main/java/gregtech/api/interfaces/modularui/ControllerWithOptionalFeatures.java +++ b/src/main/java/gregtech/api/interfaces/modularui/ControllerWithOptionalFeatures.java @@ -127,6 +127,10 @@ public interface ControllerWithOptionalFeatures extends IVoidable { void setInputSeparation(boolean enabled); + default boolean getDefaultInputSeparationMode() { + return supportsInputSeparation(); + } + Pos2d getInputSeparationButtonPos(); default ButtonWidget createInputSeparationButton(IWidgetBuilder builder) { @@ -183,6 +187,10 @@ public interface ControllerWithOptionalFeatures extends IVoidable { void setBatchMode(boolean enabled); + default boolean getDefaultBatchMode() { + return false; + } + Pos2d getBatchModeButtonPos(); default ButtonWidget createBatchModeButton(IWidgetBuilder builder) { @@ -237,6 +245,10 @@ public interface ControllerWithOptionalFeatures extends IVoidable { void setRecipeLocking(boolean enabled); + default boolean getDefaultRecipeLockingMode() { + return false; + } + Pos2d getRecipeLockingButtonPos(); default ButtonWidget createLockToSingleRecipeButton(IWidgetBuilder builder) { diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IVoidable.java b/src/main/java/gregtech/api/interfaces/tileentity/IVoidable.java index d6325e8597..f4467a2e8c 100644 --- a/src/main/java/gregtech/api/interfaces/tileentity/IVoidable.java +++ b/src/main/java/gregtech/api/interfaces/tileentity/IVoidable.java @@ -36,6 +36,10 @@ public interface IVoidable { void setVoidingMode(VoidingMode mode); + default VoidingMode getDefaultVoidingMode() { + return supportsVoidProtection() ? VoidingMode.VOID_NONE : VoidingMode.VOID_ALL; + } + /** * @param toOutput List of items this machine is going to output. * @return List of slots available for item outputs. Null element represents empty slot. -- cgit