aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/gregtech/api/gui/modularui/GT_UITextures.java8
-rw-r--r--src/main/java/gregtech/api/util/GT_LanguageManager.java4
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_Conveyor.java158
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java12
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_Pump.java158
-rw-r--r--src/main/resources/assets/gregtech/textures/gui/overlay_button/allow_output.pngbin0 -> 2962 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/gui/overlay_button/block_output.pngbin0 -> 2945 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/gui/overlay_button/use_inverted_processing_state.pngbin0 -> 2937 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/gui/overlay_button/use_processing_state.pngbin0 -> 2935 bytes
9 files changed, 220 insertions, 120 deletions
diff --git a/src/main/java/gregtech/api/gui/modularui/GT_UITextures.java b/src/main/java/gregtech/api/gui/modularui/GT_UITextures.java
index 8d0a63702c..83aeb1d029 100644
--- a/src/main/java/gregtech/api/gui/modularui/GT_UITextures.java
+++ b/src/main/java/gregtech/api/gui/modularui/GT_UITextures.java
@@ -302,12 +302,16 @@ public class GT_UITextures {
.fullImage(GregTech.ID, "gui/overlay_button/autooutput_fluid");
public static final UITexture OVERLAY_BUTTON_ALLOW_INPUT = UITexture
.fullImage(GregTech.ID, "gui/overlay_button/allow_input");
+ public static final UITexture OVERLAY_BUTTON_ALLOW_OUTPUT = UITexture
+ .fullImage(GregTech.ID, "gui/overlay_button/allow_output");
public static final UITexture OVERLAY_BUTTON_AUTOPULL_ME = UITexture
.fullImage(GregTech.ID, "gui/overlay_button/auto_pull_me");
public static final UITexture OVERLAY_BUTTON_AUTOPULL_ME_DISABLED = UITexture
.fullImage(GregTech.ID, "gui/overlay_button/auto_pull_me_disabled");
public static final UITexture OVERLAY_BUTTON_BLOCK_INPUT = UITexture
.fullImage(GregTech.ID, "gui/overlay_button/block_input");
+ public static final UITexture OVERLAY_BUTTON_BLOCK_OUTPUT = UITexture
+ .fullImage(GregTech.ID, "gui/overlay_button/block_output");
public static final UITexture OVERLAY_BUTTON_ARROW_GREEN_UP = UITexture
.fullImage(GregTech.ID, "gui/overlay_button/arrow_green_up");
public static final UITexture OVERLAY_BUTTON_ARROW_GREEN_DOWN = UITexture
@@ -358,6 +362,10 @@ public class GT_UITextures {
public static final UITexture OVERLAY_BUTTON_TANK_VOID_ALL = UITexture
.fullImage(GregTech.ID, "gui/overlay_button/tank_void_all");
public static final UITexture OVERLAY_BUTTON_NEI = UITexture.fullImage(GregTech.ID, "gui/overlay_button/nei");
+ public static final UITexture OVERLAY_BUTTON_USE_PROCESSING_STATE = UITexture
+ .fullImage(GregTech.ID, "gui/overlay_button/use_processing_state.png");
+ public static final UITexture OVERLAY_BUTTON_USE_INVERTED_PROCESSING_STATE = UITexture
+ .fullImage(GregTech.ID, "gui/overlay_button/use_inverted_processing_state.png");
/**
* Can adjust size as needed.
diff --git a/src/main/java/gregtech/api/util/GT_LanguageManager.java b/src/main/java/gregtech/api/util/GT_LanguageManager.java
index 708048cf42..76e59eed22 100644
--- a/src/main/java/gregtech/api/util/GT_LanguageManager.java
+++ b/src/main/java/gregtech/api/util/GT_LanguageManager.java
@@ -495,6 +495,10 @@ public class GT_LanguageManager {
addStringLocalization("Interaction_DESCRIPTION_Index_341.1", "Tier 1 cooling disabled");
addStringLocalization("Interaction_DESCRIPTION_Index_342", "Tier 2 cooling enabled");
addStringLocalization("Interaction_DESCRIPTION_Index_342.1", "Tier 2 cooling disabled");
+ addStringLocalization("Interaction_DESCRIPTION_Index_343", "Use Machine Processing State");
+ addStringLocalization("Interaction_DESCRIPTION_Index_343.1", "Use Inverted Machine Processing State");
+ addStringLocalization("Interaction_DESCRIPTION_Index_344", "Input Blocking");
+ addStringLocalization("Interaction_DESCRIPTION_Index_344.1", "Output Blocking");
addStringLocalization("Interaction_DESCRIPTION_Index_500", "Fitting: Loose - More Flow");
addStringLocalization("Interaction_DESCRIPTION_Index_501", "Fitting: Tight - More Efficiency");
addStringLocalization("Interaction_DESCRIPTION_Index_502", "Mining chunk loading enabled");
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_Conveyor.java b/src/main/java/gregtech/common/covers/GT_Cover_Conveyor.java
index bbea07b450..0ac0b3b3db 100644
--- a/src/main/java/gregtech/common/covers/GT_Cover_Conveyor.java
+++ b/src/main/java/gregtech/common/covers/GT_Cover_Conveyor.java
@@ -2,6 +2,8 @@ package gregtech.common.covers;
import static gregtech.api.util.GT_Utility.moveMultipleItemStacks;
+import java.util.Arrays;
+
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.util.ForgeDirection;
@@ -189,6 +191,9 @@ public class GT_Cover_Conveyor extends GT_CoverBehavior {
private static final int spaceX = 18;
private static final int spaceY = 18;
+ private CoverDataFollower_ToggleButtonWidget<ISerializableObject.LegacyCoverData> mBlockWidget = null;
+ private CoverDataFollower_ToggleButtonWidget<ISerializableObject.LegacyCoverData> mAllowWidget = null;
+
public ConveyorUIFactory(GT_CoverUIBuildContext buildContext) {
super(buildContext);
}
@@ -196,75 +201,114 @@ public class GT_Cover_Conveyor extends GT_CoverBehavior {
@SuppressWarnings("PointlessArithmeticExpression")
@Override
protected void addUIWidgets(ModularWindow.Builder builder) {
- builder
- .widget(
- new CoverDataControllerWidget.CoverDataIndexedControllerWidget_ToggleButtons<>(
- this::getCoverData,
- this::setCoverData,
- GT_Cover_Conveyor.this,
- (id, coverData) -> !getClickable(id, convert(coverData)),
- (id, coverData) -> new ISerializableObject.LegacyCoverData(
- getNewCoverVariable(id, convert(coverData))))
- .addToggleButton(
- 0,
- CoverDataFollower_ToggleButtonWidget.ofDisableable(),
- widget -> widget.setStaticTexture(GT_UITextures.OVERLAY_BUTTON_EXPORT)
- .addTooltip(GT_Utility.trans("006", "Export"))
- .setPos(spaceX * 0, spaceY * 0))
- .addToggleButton(
- 1,
- CoverDataFollower_ToggleButtonWidget.ofDisableable(),
- widget -> widget.setStaticTexture(GT_UITextures.OVERLAY_BUTTON_IMPORT)
- .addTooltip(GT_Utility.trans("007", "Import"))
- .setPos(spaceX * 1, spaceY * 0))
- .addToggleButton(
- 2,
- CoverDataFollower_ToggleButtonWidget.ofDisableable(),
- widget -> widget.setStaticTexture(GT_UITextures.OVERLAY_BUTTON_CHECKMARK)
- .addTooltip(GT_Utility.trans("224", "Always On"))
- .setPos(spaceX * 0, spaceY * 1))
- .addToggleButton(
- 3,
- CoverDataFollower_ToggleButtonWidget.ofDisableable(),
- widget -> widget.setStaticTexture(GT_UITextures.OVERLAY_BUTTON_REDSTONE_ON)
- .addTooltip(GT_Utility.trans("225", "Active with Redstone Signal"))
- .setPos(spaceX * 1, spaceY * 1))
- .addToggleButton(
- 4,
- CoverDataFollower_ToggleButtonWidget.ofDisableable(),
- widget -> widget.setStaticTexture(GT_UITextures.OVERLAY_BUTTON_REDSTONE_OFF)
- .addTooltip(GT_Utility.trans("226", "Inactive with Redstone Signal"))
- .setPos(spaceX * 2, spaceY * 1))
- .addToggleButton(
- 5,
- CoverDataFollower_ToggleButtonWidget.ofDisableable(),
- widget -> widget.setStaticTexture(GT_UITextures.OVERLAY_BUTTON_ALLOW_INPUT)
- .addTooltip(GT_Utility.trans("227", "Allow Input"))
- .setPos(spaceX * 0, spaceY * 2))
- .addToggleButton(
- 6,
- CoverDataFollower_ToggleButtonWidget.ofDisableable(),
- widget -> widget.setStaticTexture(GT_UITextures.OVERLAY_BUTTON_BLOCK_INPUT)
- .addTooltip(GT_Utility.trans("228", "Block Input"))
- .setPos(spaceX * 1, spaceY * 2))
- .setPos(startX, startY))
+ builder.widget(
+ new CoverDataControllerWidget.CoverDataIndexedControllerWidget_ToggleButtons<>(
+ this::getCoverData,
+ this::setCoverData,
+ GT_Cover_Conveyor.this,
+ (id, coverData) -> !getClickable(id, convert(coverData)),
+ (id, coverData) -> new ISerializableObject.LegacyCoverData(
+ getNewCoverVariable(id, convert(coverData))))
+ .addToggleButton(
+ 0,
+ CoverDataFollower_ToggleButtonWidget.ofDisableable(),
+ widget -> widget.setStaticTexture(GT_UITextures.OVERLAY_BUTTON_EXPORT)
+ .addTooltip(GT_Utility.trans("006", "Export"))
+ .setPos(spaceX * 0, spaceY * 0))
+ .addToggleButton(
+ 1,
+ CoverDataFollower_ToggleButtonWidget.ofDisableable(),
+ widget -> widget.setStaticTexture(GT_UITextures.OVERLAY_BUTTON_IMPORT)
+ .addTooltip(GT_Utility.trans("007", "Import"))
+ .setPos(spaceX * 1, spaceY * 0))
+ .addToggleButton(
+ 2,
+ CoverDataFollower_ToggleButtonWidget.ofDisableable(),
+ widget -> widget.setStaticTexture(GT_UITextures.OVERLAY_BUTTON_CHECKMARK)
+ .addTooltip(GT_Utility.trans("224", "Always On"))
+ .setPos(spaceX * 0, spaceY * 1))
+ .addToggleButton(
+ 3,
+ CoverDataFollower_ToggleButtonWidget.ofDisableable(),
+ widget -> widget.setStaticTexture(GT_UITextures.OVERLAY_BUTTON_USE_PROCESSING_STATE)
+ .addTooltip(GT_Utility.trans("343", "Use Machine Processing State"))
+ .setPos(spaceX * 1, spaceY * 1))
+ .addToggleButton(
+ 4,
+ CoverDataFollower_ToggleButtonWidget.ofDisableable(),
+ widget -> widget
+ .setStaticTexture(GT_UITextures.OVERLAY_BUTTON_USE_INVERTED_PROCESSING_STATE)
+ .addTooltip(GT_Utility.trans("343.1", "Use Inverted Machine Processing State"))
+ .setPos(spaceX * 2, spaceY * 1))
+ .addToggleButton(5, CoverDataFollower_ToggleButtonWidget.ofDisableable(), widget -> {
+ mAllowWidget = widget;
+ widget.setTextureGetter(i -> {
+ ISerializableObject.LegacyCoverData coverData = getCoverData();
+ return coverData == null || coverData.get() % 2 == 0
+ ? GT_UITextures.OVERLAY_BUTTON_ALLOW_INPUT
+ : GT_UITextures.OVERLAY_BUTTON_ALLOW_OUTPUT;
+ })
+ .dynamicTooltip(() -> {
+ ISerializableObject.LegacyCoverData coverData = getCoverData();
+ return Arrays.asList(
+ coverData == null || coverData.get() % 2 == 0
+ ? GT_Utility.trans("314", "Allow Input")
+ : GT_Utility.trans("312", "Allow Output"));
+ })
+ .setPos(spaceX * 0, spaceY * 2);
+ })
+ .addToggleButton(6, CoverDataFollower_ToggleButtonWidget.ofDisableable(), widget -> {
+ mBlockWidget = widget;
+ widget.setTextureGetter(i -> {
+ ISerializableObject.LegacyCoverData coverData = getCoverData();
+ return coverData == null || coverData.get() % 2 == 0
+ ? GT_UITextures.OVERLAY_BUTTON_BLOCK_INPUT
+ : GT_UITextures.OVERLAY_BUTTON_BLOCK_OUTPUT;
+ })
+ .dynamicTooltip(() -> {
+ ISerializableObject.LegacyCoverData coverData = getCoverData();
+ return Arrays.asList(
+ coverData == null || coverData.get() % 2 == 0
+ ? GT_Utility.trans("313", "Block Input")
+ : GT_Utility.trans("311", "Block Output"));
+ })
+ .setPos(spaceX * 1, spaceY * 2);
+ })
+ .setPos(startX, startY))
.widget(
new TextWidget(GT_Utility.trans("229", "Import/Export")).setDefaultColor(COLOR_TEXT_GRAY.get())
- .setPos(startX + spaceX * 3, 3 + startY + spaceY * 0))
+ .setPos(3 + startX + spaceX * 3, 4 + startY + spaceY * 0))
.widget(
new TextWidget(GT_Utility.trans("230", "Conditional")).setDefaultColor(COLOR_TEXT_GRAY.get())
- .setPos(startX + spaceX * 3, 3 + startY + spaceY * 1))
- .widget(
- new TextWidget(GT_Utility.trans("231", "Enable Input")).setDefaultColor(COLOR_TEXT_GRAY.get())
- .setPos(startX + spaceX * 3, 3 + startY + spaceY * 2));
+ .setPos(3 + startX + spaceX * 3, 4 + startY + spaceY * 1))
+ .widget(TextWidget.dynamicString(() -> {
+ ISerializableObject.LegacyCoverData coverData = getCoverData();
+ return coverData == null || coverData.get() % 2 == 0 ? GT_Utility.trans("344", "Input Blocking")
+ : GT_Utility.trans("344.1", "Output Blocking");
+ })
+ .setSynced(false)
+ .setDefaultColor(COLOR_TEXT_GRAY.get())
+ .setPos(3 + startX + spaceX * 3, 4 + startY + spaceY * 2));
}
private int getNewCoverVariable(int id, int coverVariable) {
switch (id) {
case 0 -> {
+ if (mBlockWidget != null) {
+ mBlockWidget.notifyTooltipChange();
+ }
+ if (mAllowWidget != null) {
+ mAllowWidget.notifyTooltipChange();
+ }
return coverVariable & ~0x1;
}
case 1 -> {
+ if (mBlockWidget != null) {
+ mBlockWidget.notifyTooltipChange();
+ }
+ if (mAllowWidget != null) {
+ mAllowWidget.notifyTooltipChange();
+ }
return coverVariable | 0x1;
}
case 2 -> {
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java b/src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java
index 13796e0915..9afb2cf765 100644
--- a/src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java
+++ b/src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java
@@ -314,8 +314,8 @@ public class GT_Cover_FluidRegulator extends GT_CoverBehaviorBase<GT_Cover_Fluid
coverData.condition = Conditional.Conditional;
return coverData;
},
- widget -> widget.setStaticTexture(GT_UITextures.OVERLAY_BUTTON_REDSTONE_ON)
- .addTooltip(GT_Utility.trans("225", "Active with Redstone Signal"))
+ widget -> widget.setStaticTexture(GT_UITextures.OVERLAY_BUTTON_USE_PROCESSING_STATE)
+ .addTooltip(GT_Utility.trans("343", "Use Machine Processing State"))
.setPos(spaceX * 1, spaceY * 1))
.addFollower(
CoverDataFollower_ToggleButtonWidget.ofDisableable(),
@@ -324,8 +324,8 @@ public class GT_Cover_FluidRegulator extends GT_CoverBehaviorBase<GT_Cover_Fluid
coverData.condition = Conditional.Inverted;
return coverData;
},
- widget -> widget.setStaticTexture(GT_UITextures.OVERLAY_BUTTON_REDSTONE_OFF)
- .addTooltip(GT_Utility.trans("226", "Inactive with Redstone Signal"))
+ widget -> widget.setStaticTexture(GT_UITextures.OVERLAY_BUTTON_USE_INVERTED_PROCESSING_STATE)
+ .addTooltip(GT_Utility.trans("343.1", "Use Inverted Machine Processing State"))
.setPos(spaceX * 2, spaceY * 1))
.addFollower(
new CoverDataFollower_TextFieldWidget<>(),
@@ -382,10 +382,10 @@ public class GT_Cover_FluidRegulator extends GT_CoverBehaviorBase<GT_Cover_Fluid
.setPos(startX, startY))
.widget(
new TextWidget(GT_Utility.trans("229", "Import/Export")).setDefaultColor(COLOR_TEXT_GRAY.get())
- .setPos(startX + spaceX * 4, 4 + startY + spaceY * 0))
+ .setPos(3 + startX + spaceX * 4, 4 + startY + spaceY * 0))
.widget(
new TextWidget(GT_Utility.trans("230", "Conditional")).setDefaultColor(COLOR_TEXT_GRAY.get())
- .setPos(startX + spaceX * 4, 4 + startY + spaceY * 1))
+ .setPos(3 + startX + spaceX * 4, 4 + startY + spaceY * 1))
.widget(
new TextWidget(GT_Utility.trans("208", " L")).setDefaultColor(COLOR_TEXT_GRAY.get())
.setPos(startX + spaceX * 4, 4 + startY + spaceY * 2))
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_Pump.java b/src/main/java/gregtech/common/covers/GT_Cover_Pump.java
index 278bf488e3..dd10e7e976 100644
--- a/src/main/java/gregtech/common/covers/GT_Cover_Pump.java
+++ b/src/main/java/gregtech/common/covers/GT_Cover_Pump.java
@@ -1,5 +1,7 @@
package gregtech.common.covers;
+import java.util.Arrays;
+
import net.minecraft.entity.player.EntityPlayer;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.Fluid;
@@ -199,6 +201,9 @@ public class GT_Cover_Pump extends GT_CoverBehavior {
private static final int spaceX = 18;
private static final int spaceY = 18;
+ private CoverDataFollower_ToggleButtonWidget<ISerializableObject.LegacyCoverData> mBlockWidget = null;
+ private CoverDataFollower_ToggleButtonWidget<ISerializableObject.LegacyCoverData> mAllowWidget = null;
+
public PumpUIFactory(GT_CoverUIBuildContext buildContext) {
super(buildContext);
}
@@ -206,75 +211,114 @@ public class GT_Cover_Pump extends GT_CoverBehavior {
@SuppressWarnings("PointlessArithmeticExpression")
@Override
protected void addUIWidgets(ModularWindow.Builder builder) {
- builder
- .widget(
- new CoverDataControllerWidget.CoverDataIndexedControllerWidget_ToggleButtons<>(
- this::getCoverData,
- this::setCoverData,
- GT_Cover_Pump.this,
- (id, coverData) -> !getClickable(id, convert(coverData)),
- (id, coverData) -> new ISerializableObject.LegacyCoverData(
- getNewCoverVariable(id, convert(coverData))))
- .addToggleButton(
- 0,
- CoverDataFollower_ToggleButtonWidget.ofDisableable(),
- widget -> widget.setStaticTexture(GT_UITextures.OVERLAY_BUTTON_EXPORT)
- .addTooltip(GT_Utility.trans("006", "Export"))
- .setPos(spaceX * 0, spaceY * 0))
- .addToggleButton(
- 1,
- CoverDataFollower_ToggleButtonWidget.ofDisableable(),
- widget -> widget.setStaticTexture(GT_UITextures.OVERLAY_BUTTON_IMPORT)
- .addTooltip(GT_Utility.trans("007", "Import"))
- .setPos(spaceX * 1, spaceY * 0))
- .addToggleButton(
- 2,
- CoverDataFollower_ToggleButtonWidget.ofDisableable(),
- widget -> widget.setStaticTexture(GT_UITextures.OVERLAY_BUTTON_CHECKMARK)
- .addTooltip(GT_Utility.trans("224", "Always On"))
- .setPos(spaceX * 0, spaceY * 1))
- .addToggleButton(
- 3,
- CoverDataFollower_ToggleButtonWidget.ofDisableable(),
- widget -> widget.setStaticTexture(GT_UITextures.OVERLAY_BUTTON_REDSTONE_ON)
- .addTooltip(GT_Utility.trans("225", "Active with Redstone Signal"))
- .setPos(spaceX * 1, spaceY * 1))
- .addToggleButton(
- 4,
- CoverDataFollower_ToggleButtonWidget.ofDisableable(),
- widget -> widget.setStaticTexture(GT_UITextures.OVERLAY_BUTTON_REDSTONE_OFF)
- .addTooltip(GT_Utility.trans("226", "Inactive with Redstone Signal"))
- .setPos(spaceX * 2, spaceY * 1))
- .addToggleButton(
- 5,
- CoverDataFollower_ToggleButtonWidget.ofDisableable(),
- widget -> widget.setStaticTexture(GT_UITextures.OVERLAY_BUTTON_ALLOW_INPUT)
- .addTooltip(GT_Utility.trans("227", "Allow Input"))
- .setPos(spaceX * 0, spaceY * 2))
- .addToggleButton(
- 6,
- CoverDataFollower_ToggleButtonWidget.ofDisableable(),
- widget -> widget.setStaticTexture(GT_UITextures.OVERLAY_BUTTON_BLOCK_INPUT)
- .addTooltip(GT_Utility.trans("228", "Block Input"))
- .setPos(spaceX * 1, spaceY * 2))
- .setPos(startX, startY))
+ builder.widget(
+ new CoverDataControllerWidget.CoverDataIndexedControllerWidget_ToggleButtons<>(
+ this::getCoverData,
+ this::setCoverData,
+ GT_Cover_Pump.this,
+ (id, coverData) -> !getClickable(id, convert(coverData)),
+ (id, coverData) -> new ISerializableObject.LegacyCoverData(
+ getNewCoverVariable(id, convert(coverData))))
+ .addToggleButton(
+ 0,
+ CoverDataFollower_ToggleButtonWidget.ofDisableable(),
+ widget -> widget.setStaticTexture(GT_UITextures.OVERLAY_BUTTON_EXPORT)
+ .addTooltip(GT_Utility.trans("006", "Export"))
+ .setPos(spaceX * 0, spaceY * 0))
+ .addToggleButton(
+ 1,
+ CoverDataFollower_ToggleButtonWidget.ofDisableable(),
+ widget -> widget.setStaticTexture(GT_UITextures.OVERLAY_BUTTON_IMPORT)
+ .addTooltip(GT_Utility.trans("007", "Import"))
+ .setPos(spaceX * 1, spaceY * 0))
+ .addToggleButton(
+ 2,
+ CoverDataFollower_ToggleButtonWidget.ofDisableable(),
+ widget -> widget.setStaticTexture(GT_UITextures.OVERLAY_BUTTON_CHECKMARK)
+ .addTooltip(GT_Utility.trans("224", "Always On"))
+ .setPos(spaceX * 0, spaceY * 1))
+ .addToggleButton(
+ 3,
+ CoverDataFollower_ToggleButtonWidget.ofDisableable(),
+ widget -> widget.setStaticTexture(GT_UITextures.OVERLAY_BUTTON_USE_PROCESSING_STATE)
+ .addTooltip(GT_Utility.trans("343", "Use Machine Processing State"))
+ .setPos(spaceX * 1, spaceY * 1))
+ .addToggleButton(
+ 4,
+ CoverDataFollower_ToggleButtonWidget.ofDisableable(),
+ widget -> widget
+ .setStaticTexture(GT_UITextures.OVERLAY_BUTTON_USE_INVERTED_PROCESSING_STATE)
+ .addTooltip(GT_Utility.trans("343.1", "Use Inverted Machine Processing State"))
+ .setPos(spaceX * 2, spaceY * 1))
+ .addToggleButton(5, CoverDataFollower_ToggleButtonWidget.ofDisableable(), widget -> {
+ mAllowWidget = widget;
+ widget.setTextureGetter(i -> {
+ ISerializableObject.LegacyCoverData coverData = getCoverData();
+ return coverData == null || coverData.get() % 2 == 0
+ ? GT_UITextures.OVERLAY_BUTTON_ALLOW_INPUT
+ : GT_UITextures.OVERLAY_BUTTON_ALLOW_OUTPUT;
+ })
+ .dynamicTooltip(() -> {
+ ISerializableObject.LegacyCoverData coverData = getCoverData();
+ return Arrays.asList(
+ coverData == null || coverData.get() % 2 == 0
+ ? GT_Utility.trans("314", "Allow Input")
+ : GT_Utility.trans("312", "Allow Output"));
+ })
+ .setPos(spaceX * 0, spaceY * 2);
+ })
+ .addToggleButton(6, CoverDataFollower_ToggleButtonWidget.ofDisableable(), widget -> {
+ mBlockWidget = widget;
+ widget.setTextureGetter(i -> {
+ ISerializableObject.LegacyCoverData coverData = getCoverData();
+ return coverData == null || coverData.get() % 2 == 0
+ ? GT_UITextures.OVERLAY_BUTTON_BLOCK_INPUT
+ : GT_UITextures.OVERLAY_BUTTON_BLOCK_OUTPUT;
+ })
+ .dynamicTooltip(() -> {
+ ISerializableObject.LegacyCoverData coverData = getCoverData();
+ return Arrays.asList(
+ coverData == null || coverData.get() % 2 == 0
+ ? GT_Utility.trans("313", "Block Input")
+ : GT_Utility.trans("311", "Block Output"));
+ })
+ .setPos(spaceX * 1, spaceY * 2);
+ })
+ .setPos(startX, startY))
.widget(
new TextWidget(GT_Utility.trans("229", "Import/Export")).setDefaultColor(COLOR_TEXT_GRAY.get())
- .setPos(startX + spaceX * 3, 3 + startY + spaceY * 0))
+ .setPos(3 + startX + spaceX * 3, 4 + startY + spaceY * 0))
.widget(
new TextWidget(GT_Utility.trans("230", "Conditional")).setDefaultColor(COLOR_TEXT_GRAY.get())
- .setPos(startX + spaceX * 3, 3 + startY + spaceY * 1))
- .widget(
- new TextWidget(GT_Utility.trans("231", "Enable Input")).setDefaultColor(COLOR_TEXT_GRAY.get())
- .setPos(startX + spaceX * 3, 3 + startY + spaceY * 2));
+ .setPos(3 + startX + spaceX * 3, 4 + startY + spaceY * 1))
+ .widget(TextWidget.dynamicString(() -> {
+ ISerializableObject.LegacyCoverData coverData = getCoverData();
+ return coverData == null || coverData.get() % 2 == 0 ? GT_Utility.trans("344", "Input Blocking")
+ : GT_Utility.trans("344.1", "Output Blocking");
+ })
+ .setSynced(false)
+ .setDefaultColor(COLOR_TEXT_GRAY.get())
+ .setPos(3 + startX + spaceX * 3, 4 + startY + spaceY * 2));
}
private int getNewCoverVariable(int id, int coverVariable) {
switch (id) {
case 0 -> {
+ if (mBlockWidget != null) {
+ mBlockWidget.notifyTooltipChange();
+ }
+ if (mAllowWidget != null) {
+ mAllowWidget.notifyTooltipChange();
+ }
return coverVariable & ~0x1;
}
case 1 -> {
+ if (mBlockWidget != null) {
+ mBlockWidget.notifyTooltipChange();
+ }
+ if (mAllowWidget != null) {
+ mAllowWidget.notifyTooltipChange();
+ }
return coverVariable | 0x1;
}
case 2 -> {
diff --git a/src/main/resources/assets/gregtech/textures/gui/overlay_button/allow_output.png b/src/main/resources/assets/gregtech/textures/gui/overlay_button/allow_output.png
new file mode 100644
index 0000000000..781512788a
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/gui/overlay_button/allow_output.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/gui/overlay_button/block_output.png b/src/main/resources/assets/gregtech/textures/gui/overlay_button/block_output.png
new file mode 100644
index 0000000000..168059b7f9
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/gui/overlay_button/block_output.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/gui/overlay_button/use_inverted_processing_state.png b/src/main/resources/assets/gregtech/textures/gui/overlay_button/use_inverted_processing_state.png
new file mode 100644
index 0000000000..28a767ecee
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/gui/overlay_button/use_inverted_processing_state.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/gui/overlay_button/use_processing_state.png b/src/main/resources/assets/gregtech/textures/gui/overlay_button/use_processing_state.png
new file mode 100644
index 0000000000..47f991c50a
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/gui/overlay_button/use_processing_state.png
Binary files differ