diff options
author | Mary <33456283+FourIsTheNumber@users.noreply.github.com> | 2024-07-24 21:14:45 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-25 08:14:45 +0700 |
commit | 5045736c2df49b6214c63dc78edff258ed39de0e (patch) | |
tree | d8bd169866706365a7b832756ca737d60450bbc0 /src/main/java/gregtech/api | |
parent | e53b6c05521f399312502c21bd29bd0f0479aa8b (diff) | |
download | GT5-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')
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"); |