aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api
diff options
context:
space:
mode:
authorMary <33456283+FourIsTheNumber@users.noreply.github.com>2024-07-24 21:14:45 -0400
committerGitHub <noreply@github.com>2024-07-25 08:14:45 +0700
commit5045736c2df49b6214c63dc78edff258ed39de0e (patch)
treed8bd169866706365a7b832756ca737d60450bbc0 /src/main/java/gregtech/api
parente53b6c05521f399312502c21bd29bd0f0479aa8b (diff)
downloadGT5-Unofficial-5045736c2df49b6214c63dc78edff258ed39de0e.tar.gz
GT5-Unofficial-5045736c2df49b6214c63dc78edff258ed39de0e.tar.bz2
GT5-Unofficial-5045736c2df49b6214c63dc78edff258ed39de0e.zip
Update multi-machines to display running mode in GUI (#2755)
* Framework for mode text in gui * Add getMachineModeName to all multimachines * Changed lang file for MFE because "Electromagnetic Polarizer" and "Electromagnetic Separator" are too long and make the GUI look bad * Removed leftover code * Removed more leftover code... oops * Moved logic to base class and made mode switch chat message localizable * Merge caused spotless to fail, I guess * Reverted logic from parent class * ahhhh spotless
Diffstat (limited to 'src/main/java/gregtech/api')
-rw-r--r--src/main/java/gregtech/api/interfaces/modularui/ControllerWithOptionalFeatures.java10
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java8
-rw-r--r--src/main/java/gregtech/api/util/GT_LanguageManager.java1
3 files changed, 18 insertions, 1 deletions
diff --git a/src/main/java/gregtech/api/interfaces/modularui/ControllerWithOptionalFeatures.java b/src/main/java/gregtech/api/interfaces/modularui/ControllerWithOptionalFeatures.java
index a877492907..67e6a72776 100644
--- a/src/main/java/gregtech/api/interfaces/modularui/ControllerWithOptionalFeatures.java
+++ b/src/main/java/gregtech/api/interfaces/modularui/ControllerWithOptionalFeatures.java
@@ -133,6 +133,13 @@ public interface ControllerWithOptionalFeatures extends IVoidable, IRecipeLockab
}
/**
+ * @return name for the current machine mode on this machine. Defaults "Unknown Mode"
+ */
+ default String getMachineModeName() {
+ return "Unknown Mode";
+ }
+
+ /**
* @param index Index of machineModeIcons to pull from
* @return UITexture associated with that machineMode
*/
@@ -161,6 +168,9 @@ public interface ControllerWithOptionalFeatures extends IVoidable, IRecipeLockab
Pos2d getMachineModeSwitchButtonPos();
+ /**
+ * Called when the mode switch button is clicked
+ */
default void onMachineModeSwitchClick() {}
default ButtonWidget createModeSwitchButton(IWidgetBuilder<?> builder) {
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java
index 735119d8bf..46518f0a8d 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java
@@ -2455,7 +2455,13 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity
screenElements.setSynced(false)
.setSpace(0)
.setPos(10, 7);
-
+ if (supportsMachineModeSwitch()) {
+ screenElements.widget(
+ TextWidget.dynamicString(
+ () -> EnumChatFormatting.WHITE + GT_Utility.trans("400", "Running mode: ")
+ + EnumChatFormatting.GOLD
+ + getMachineModeName()));
+ }
screenElements
.widget(
new TextWidget(GT_Utility.trans("132", "Pipe is loose.")).setDefaultColor(COLOR_TEXT_WHITE.get())
diff --git a/src/main/java/gregtech/api/util/GT_LanguageManager.java b/src/main/java/gregtech/api/util/GT_LanguageManager.java
index 09bf5d7e3b..e153b8e15f 100644
--- a/src/main/java/gregtech/api/util/GT_LanguageManager.java
+++ b/src/main/java/gregtech/api/util/GT_LanguageManager.java
@@ -541,6 +541,7 @@ public class GT_LanguageManager {
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_400", "Running mode: ");
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");