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 | |
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')
5 files changed, 38 insertions, 15 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"); diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_IndustrialElectromagneticSeparator.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_IndustrialElectromagneticSeparator.java index 9aa92a8125..e0ac38f31f 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_IndustrialElectromagneticSeparator.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_IndustrialElectromagneticSeparator.java @@ -346,19 +346,22 @@ public class GT_MetaTileEntity_IndustrialElectromagneticSeparator } @Override + public void onScrewdriverRightClick(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { + setMachineMode(nextMachineMode()); + PlayerUtils.messagePlayer( + aPlayer, + String.format(StatCollector.translateToLocal("GT5U.MULTI_MACHINE_CHANGE"), getMachineModeName())); + } + + @Override public void setMachineModeIcons() { machineModeIcons.add(GT_UITextures.OVERLAY_BUTTON_MACHINEMODE_SEPARATOR); machineModeIcons.add(GT_UITextures.OVERLAY_BUTTON_MACHINEMODE_POLARIZER); } @Override - public void onScrewdriverRightClick(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { - setMachineMode(nextMachineMode()); - if (machineMode == MACHINEMODE_POLARIZER) { - PlayerUtils.messagePlayer(aPlayer, "Now running in Polarizing Mode."); - } else { - PlayerUtils.messagePlayer(aPlayer, "Now running in Separating Mode."); - } + public String getMachineModeName() { + return StatCollector.translateToLocal("GT5U.INDUSTRIAL_ELECTROMAGNETIC_SEPARATOR.mode." + machineMode); } @Override diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_MultiCanner.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_MultiCanner.java index b28a7bdca7..0a207331dd 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_MultiCanner.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_MultiCanner.java @@ -234,19 +234,22 @@ public class GT_MetaTileEntity_MultiCanner extends } @Override + public void onScrewdriverRightClick(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { + setMachineMode(nextMachineMode()); + PlayerUtils.messagePlayer( + aPlayer, + String.format(StatCollector.translateToLocal("GT5U.MULTI_MACHINE_CHANGE"), getMachineModeName())); + } + + @Override public void setMachineModeIcons() { machineModeIcons.add(GT_UITextures.OVERLAY_BUTTON_MACHINEMODE_PACKAGER); machineModeIcons.add(GT_UITextures.OVERLAY_BUTTON_MACHINEMODE_LPF_FLUID); } @Override - public void onScrewdriverRightClick(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { - setMachineMode(nextMachineMode()); - if (machineMode == MACHINEMODE_FLUIDCANNER) { - PlayerUtils.messagePlayer(aPlayer, "Now running in Fluid Canning Mode."); - } else { - PlayerUtils.messagePlayer(aPlayer, "Now running in Canning Mode."); - } + public String getMachineModeName() { + return StatCollector.translateToLocal("GT5U.MULTI_CANNER.mode." + machineMode); } @Override |