Skip to content

Commit c649748

Browse files
authored
Add missing tooltips for auto-output buttons in machine UIs (#4180)
1 parent 3b1ee91 commit c649748

File tree

6 files changed

+87
-3
lines changed

6 files changed

+87
-3
lines changed

src/generated/resources/assets/gtceu/lang/en_ud.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2402,8 +2402,15 @@
24022402
"gtceu.gui.fluid_auto_input.tooltip.enabled": "pǝןqɐuƎ ʇnduI-oʇnⱯ pınןℲ",
24032403
"gtceu.gui.fluid_auto_output.allow_input.disabled": "ǝpıs ʇndʇno ǝɥʇ ɯoɹɟ ʇnduı spınןɟ ǝןqɐsıp",
24042404
"gtceu.gui.fluid_auto_output.allow_input.enabled": "ǝpıs ʇndʇno ǝɥʇ ɯoɹɟ ʇnduı spınןɟ ʍoןןɐ",
2405+
"gtceu.gui.fluid_auto_output.disabled": "pǝןqɐsıᗡɔ§ :ʇndʇnO oʇnⱯ pınןℲ",
2406+
"gtceu.gui.fluid_auto_output.enabled": "pǝןqɐuƎɐ§ :ʇndʇnO oʇnⱯ pınןℲ",
2407+
"gtceu.gui.fluid_auto_output.other_direction.0": "uoıʇɔǝɹıᗡ ɹǝɥʇO9§ :ʇndʇnO oʇnⱯ pınןℲ",
2408+
"gtceu.gui.fluid_auto_output.other_direction.1": "˙uoıʇɔǝɹıp ɹǝɥʇouɐ oʇ ʇǝs sı ʇndʇno pınןɟ s,ǝuıɥɔɐɯ ǝɥ⟘ㄥ§",
2409+
"gtceu.gui.fluid_auto_output.other_direction.2": "˙ǝpıs pǝʇɔǝןǝs ʎןʇuǝɹɹnɔ ǝɥʇ oʇ ʇndʇno ǝɥʇ ǝʌoɯ oʇ ʞɔıןƆㄥ§",
24052410
"gtceu.gui.fluid_auto_output.tooltip.disabled": "pǝןqɐsıᗡ ʇndʇnO-oʇnⱯ pınןℲ",
24062411
"gtceu.gui.fluid_auto_output.tooltip.enabled": "pǝןqɐuƎ ʇndʇnO-oʇnⱯ pınןℲ",
2412+
"gtceu.gui.fluid_auto_output.unselected.0": "ʇndʇnO oʇnⱯ pınןℲ",
2413+
"gtceu.gui.fluid_auto_output.unselected.1": "˙ʇndʇno sʇı ǝɹnbıɟuoɔ oʇ ǝuıɥɔɐɯ ǝɥʇ ɟo ǝpıs ɐ ʇɔǝןǝSㄥ§",
24072414
"gtceu.gui.fluid_lock.tooltip.disabled": "pǝןqɐsıᗡ buıʞɔoꞀ pınןℲ",
24082415
"gtceu.gui.fluid_lock.tooltip.enabled": "pǝןqɐuƎ buıʞɔoꞀ pınןℲ",
24092416
"gtceu.gui.fluid_voiding": "spınןℲ6§ buıpıoΛㄥ§",
@@ -2414,8 +2421,15 @@
24142421
"gtceu.gui.item_auto_input.tooltip.enabled": "pǝןqɐuƎ ʇnduI-oʇnⱯ ɯǝʇI",
24152422
"gtceu.gui.item_auto_output.allow_input.disabled": "ǝpıs ʇndʇno ǝɥʇ ɯoɹɟ ʇnduı sɯǝʇı ǝןqɐsıp",
24162423
"gtceu.gui.item_auto_output.allow_input.enabled": "ǝpıs ʇndʇno ǝɥʇ ɯoɹɟ ʇnduı sɯǝʇı ʍoןןɐ",
2424+
"gtceu.gui.item_auto_output.disabled": "pǝןqɐsıᗡɔ§ :ʇndʇnO oʇnⱯ ɯǝʇI",
2425+
"gtceu.gui.item_auto_output.enabled": "pǝןqɐuƎɐ§ :ʇndʇnO oʇnⱯ ɯǝʇI",
2426+
"gtceu.gui.item_auto_output.other_direction.0": "uoıʇɔǝɹıᗡ ɹǝɥʇO9§ :ʇndʇnO oʇnⱯ ɯǝʇI",
2427+
"gtceu.gui.item_auto_output.other_direction.1": "˙uoıʇɔǝɹıp ɹǝɥʇouɐ oʇ ʇǝs sı ʇndʇno ɯǝʇı s,ǝuıɥɔɐɯ ǝɥ⟘ㄥ§",
2428+
"gtceu.gui.item_auto_output.other_direction.2": "˙ǝpıs pǝʇɔǝןǝs ʎןʇuǝɹɹnɔ ǝɥʇ oʇ ʇndʇno ǝɥʇ ǝʌoɯ oʇ ʞɔıןƆㄥ§",
24172429
"gtceu.gui.item_auto_output.tooltip.disabled": "pǝןqɐsıᗡ ʇndʇnO-oʇnⱯ ɯǝʇI",
24182430
"gtceu.gui.item_auto_output.tooltip.enabled": "pǝןqɐuƎ ʇndʇnO-oʇnⱯ ɯǝʇI",
2431+
"gtceu.gui.item_auto_output.unselected.0": "ʇndʇnO oʇnⱯ ɯǝʇI",
2432+
"gtceu.gui.item_auto_output.unselected.1": "˙ʇndʇno sʇı ǝɹnbıɟuoɔ oʇ ǝuıɥɔɐɯ ǝɥʇ ɟo ǝpıs ɐ ʇɔǝןǝSㄥ§",
24192433
"gtceu.gui.item_lock.tooltip.disabled": "pǝןqɐsıᗡ buıʞɔoꞀ ɯǝʇI",
24202434
"gtceu.gui.item_lock.tooltip.enabled": "pǝןqɐuƎ buıʞɔoꞀ ɯǝʇI",
24212435
"gtceu.gui.item_voiding": "sɯǝʇI9§ buıpıoΛㄥ§",

src/generated/resources/assets/gtceu/lang/en_us.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2402,8 +2402,15 @@
24022402
"gtceu.gui.fluid_auto_input.tooltip.enabled": "Fluid Auto-Input Enabled",
24032403
"gtceu.gui.fluid_auto_output.allow_input.disabled": "disable fluids input from the output side",
24042404
"gtceu.gui.fluid_auto_output.allow_input.enabled": "allow fluids input from the output side",
2405+
"gtceu.gui.fluid_auto_output.disabled": "Fluid Auto Output: §cDisabled",
2406+
"gtceu.gui.fluid_auto_output.enabled": "Fluid Auto Output: §aEnabled",
2407+
"gtceu.gui.fluid_auto_output.other_direction.0": "Fluid Auto Output: §6Other Direction",
2408+
"gtceu.gui.fluid_auto_output.other_direction.1": "§7The machine's fluid output is set to another direction.",
2409+
"gtceu.gui.fluid_auto_output.other_direction.2": "§7Click to move the output to the currently selected side.",
24052410
"gtceu.gui.fluid_auto_output.tooltip.disabled": "Fluid Auto-Output Disabled",
24062411
"gtceu.gui.fluid_auto_output.tooltip.enabled": "Fluid Auto-Output Enabled",
2412+
"gtceu.gui.fluid_auto_output.unselected.0": "Fluid Auto Output",
2413+
"gtceu.gui.fluid_auto_output.unselected.1": "§7Select a side of the machine to configure its output.",
24072414
"gtceu.gui.fluid_lock.tooltip.disabled": "Fluid Locking Disabled",
24082415
"gtceu.gui.fluid_lock.tooltip.enabled": "Fluid Locking Enabled",
24092416
"gtceu.gui.fluid_voiding": "§7Voiding §9Fluids",
@@ -2414,8 +2421,15 @@
24142421
"gtceu.gui.item_auto_input.tooltip.enabled": "Item Auto-Input Enabled",
24152422
"gtceu.gui.item_auto_output.allow_input.disabled": "disable items input from the output side",
24162423
"gtceu.gui.item_auto_output.allow_input.enabled": "allow items input from the output side",
2424+
"gtceu.gui.item_auto_output.disabled": "Item Auto Output: §cDisabled",
2425+
"gtceu.gui.item_auto_output.enabled": "Item Auto Output: §aEnabled",
2426+
"gtceu.gui.item_auto_output.other_direction.0": "Item Auto Output: §6Other Direction",
2427+
"gtceu.gui.item_auto_output.other_direction.1": "§7The machine's item output is set to another direction.",
2428+
"gtceu.gui.item_auto_output.other_direction.2": "§7Click to move the output to the currently selected side.",
24172429
"gtceu.gui.item_auto_output.tooltip.disabled": "Item Auto-Output Disabled",
24182430
"gtceu.gui.item_auto_output.tooltip.enabled": "Item Auto-Output Enabled",
2431+
"gtceu.gui.item_auto_output.unselected.0": "Item Auto Output",
2432+
"gtceu.gui.item_auto_output.unselected.1": "§7Select a side of the machine to configure its output.",
24192433
"gtceu.gui.item_lock.tooltip.disabled": "Item Locking Disabled",
24202434
"gtceu.gui.item_lock.tooltip.enabled": "Item Locking Enabled",
24212435
"gtceu.gui.item_voiding": "§7Voiding §6Items",

src/main/java/com/gregtechceu/gtceu/api/gui/widget/directional/handlers/AutoOutputFluidConfigHandler.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import com.gregtechceu.gtceu.api.gui.widget.directional.IDirectionalConfigHandler;
77
import com.gregtechceu.gtceu.api.machine.feature.IAutoOutputFluid;
88
import com.gregtechceu.gtceu.api.machine.feature.IAutoOutputItem;
9+
import com.gregtechceu.gtceu.data.lang.LangHandler;
910

1011
import com.lowdragmc.lowdraglib.gui.texture.GuiTextureGroup;
1112
import com.lowdragmc.lowdraglib.gui.texture.IGuiTexture;
@@ -17,6 +18,7 @@
1718
import net.minecraft.MethodsReturnNonnullByDefault;
1819
import net.minecraft.core.BlockPos;
1920
import net.minecraft.core.Direction;
21+
import net.minecraft.network.chat.Component;
2022
import net.minecraftforge.api.distmarker.Dist;
2123
import net.minecraftforge.api.distmarker.OnlyIn;
2224

@@ -55,14 +57,22 @@ public Widget getSideSelectorWidget(SceneWidget scene, FancyMachineUIWidget mach
5557
@Override
5658
public void updateScreen() {
5759
super.updateScreen();
58-
if (machine.getOutputFacingFluids() == side) {
60+
if (side == null) {
61+
setButtonTexture(TEXTURE_OFF);
62+
setHoverTooltips(LangHandler.getMultiLang("gtceu.gui.fluid_auto_output.unselected")
63+
.toArray(Component[]::new));
64+
} else if (machine.getOutputFacingFluids() == side) {
5965
if (machine.isAutoOutputFluids()) {
6066
setButtonTexture(TEXTURE_AUTO);
67+
setHoverTooltips("gtceu.gui.fluid_auto_output.enabled");
6168
} else {
6269
setButtonTexture(TEXTURE_OUTPUT);
70+
setHoverTooltips("gtceu.gui.fluid_auto_output.disabled");
6371
}
6472
} else {
6573
setButtonTexture(TEXTURE_OFF);
74+
setHoverTooltips(LangHandler.getMultiLang("gtceu.gui.fluid_auto_output.other_direction")
75+
.toArray(Component[]::new));
6676
}
6777
}
6878
});

src/main/java/com/gregtechceu/gtceu/api/gui/widget/directional/handlers/AutoOutputItemConfigHandler.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import com.gregtechceu.gtceu.api.gui.widget.directional.IDirectionalConfigHandler;
77
import com.gregtechceu.gtceu.api.machine.feature.IAutoOutputFluid;
88
import com.gregtechceu.gtceu.api.machine.feature.IAutoOutputItem;
9+
import com.gregtechceu.gtceu.data.lang.LangHandler;
910

1011
import com.lowdragmc.lowdraglib.gui.texture.GuiTextureGroup;
1112
import com.lowdragmc.lowdraglib.gui.texture.IGuiTexture;
@@ -16,6 +17,7 @@
1617
import net.minecraft.MethodsReturnNonnullByDefault;
1718
import net.minecraft.core.BlockPos;
1819
import net.minecraft.core.Direction;
20+
import net.minecraft.network.chat.Component;
1921
import net.minecraftforge.api.distmarker.Dist;
2022
import net.minecraftforge.api.distmarker.OnlyIn;
2123

@@ -55,14 +57,22 @@ public Widget getSideSelectorWidget(SceneWidget scene, FancyMachineUIWidget mach
5557
public void updateScreen() {
5658
super.updateScreen();
5759

58-
if (machine.getOutputFacingItems() == side) {
60+
if (side == null) {
61+
setButtonTexture(TEXTURE_OFF);
62+
setHoverTooltips(LangHandler.getMultiLang("gtceu.gui.item_auto_output.unselected")
63+
.toArray(Component[]::new));
64+
} else if (machine.getOutputFacingItems() == side) {
5965
if (machine.isAutoOutputItems()) {
6066
setButtonTexture(TEXTURE_AUTO);
67+
setHoverTooltips("gtceu.gui.item_auto_output.enabled");
6168
} else {
6269
setButtonTexture(TEXTURE_OUTPUT);
70+
setHoverTooltips("gtceu.gui.item_auto_output.disabled");
6371
}
6472
} else {
6573
setButtonTexture(TEXTURE_OFF);
74+
setHoverTooltips(LangHandler.getMultiLang("gtceu.gui.item_auto_output.other_direction")
75+
.toArray(Component[]::new));
6676
}
6777
}
6878
});

src/main/java/com/gregtechceu/gtceu/api/machine/SimpleTieredMachine.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -333,21 +333,24 @@ public void attachConfigurators(ConfiguratorPanel configuratorPanel) {
333333
private IFancyConfigurator createAutoOutputFluidConfigurator() {
334334
return createAutoOutputConfigurator(
335335
GuiTextures.IO_CONFIG_FLUID_MODES_BUTTON,
336+
"gtceu.gui.fluid_auto_output",
336337
this::isAutoOutputFluids,
337338
(cd, nextState) -> this.setAutoOutputFluids(nextState));
338339
}
339340

340341
private IFancyConfigurator createAutoOutputItemConfigurator() {
341342
return createAutoOutputConfigurator(
342343
GuiTextures.IO_CONFIG_ITEM_MODES_BUTTON,
344+
"gtceu.gui.item_auto_output",
343345
this::isAutoOutputItems,
344346
(cd, nextState) -> this.setAutoOutputItems(nextState));
345347
}
346348

347349
private IFancyConfigurator createAutoOutputConfigurator(ResourceTexture modesButtonTexture,
350+
String tooltipBaseLangKey,
348351
BooleanSupplier stateSupplier,
349352
BiConsumer<ClickData, Boolean> onToggle) {
350-
return new IFancyConfiguratorButton.Toggle(
353+
var toggle = new IFancyConfiguratorButton.Toggle(
351354
new GuiTextureGroup(
352355
GuiTextures.TOGGLE_BUTTON_BACK.getSubTexture(0, 0, 1, 0.5),
353356
modesButtonTexture.getSubTexture(0, 1 / 3f, 1, 1 / 3f)),
@@ -356,6 +359,13 @@ private IFancyConfigurator createAutoOutputConfigurator(ResourceTexture modesBut
356359
modesButtonTexture.getSubTexture(0, 2 / 3f, 1, 1 / 3f)),
357360
stateSupplier,
358361
onToggle);
362+
363+
toggle.setTooltipsSupplier(enabled -> {
364+
var key = tooltipBaseLangKey + '.' + (enabled ? "enabled" : "disabled");
365+
return List.of(Component.translatable(key));
366+
});
367+
368+
return toggle;
359369
}
360370

361371
@SuppressWarnings("UnstableApiUsage")

src/main/java/com/gregtechceu/gtceu/data/lang/LangHandler.java

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1249,10 +1249,36 @@ public static void init(RegistrateLangProvider provider) {
12491249
"allow items input from the output side");
12501250
provider.add("gtceu.gui.item_auto_output.allow_input.disabled",
12511251
"disable items input from the output side");
1252+
provider.add("gtceu.gui.item_auto_output.enabled", "Item Auto Output: §aEnabled");
1253+
provider.add("gtceu.gui.item_auto_output.disabled", "Item Auto Output: §cDisabled");
1254+
multilineLang(provider, "gtceu.gui.item_auto_output.unselected",
1255+
"""
1256+
Item Auto Output
1257+
§7Select a side of the machine to configure its output.
1258+
""");
1259+
multilineLang(provider, "gtceu.gui.item_auto_output.other_direction",
1260+
"""
1261+
Item Auto Output: §6Other Direction
1262+
§7The machine's item output is set to another direction.
1263+
§7Click to move the output to the currently selected side.
1264+
""");
12521265
provider.add("gtceu.gui.fluid_auto_output.allow_input.enabled",
12531266
"allow fluids input from the output side");
12541267
provider.add("gtceu.gui.fluid_auto_output.allow_input.disabled",
12551268
"disable fluids input from the output side");
1269+
provider.add("gtceu.gui.fluid_auto_output.enabled", "Fluid Auto Output: §aEnabled");
1270+
provider.add("gtceu.gui.fluid_auto_output.disabled", "Fluid Auto Output: §cDisabled");
1271+
multilineLang(provider, "gtceu.gui.fluid_auto_output.unselected",
1272+
"""
1273+
Fluid Auto Output
1274+
§7Select a side of the machine to configure its output.
1275+
""");
1276+
multilineLang(provider, "gtceu.gui.fluid_auto_output.other_direction",
1277+
"""
1278+
Fluid Auto Output: §6Other Direction
1279+
§7The machine's fluid output is set to another direction.
1280+
§7Click to move the output to the currently selected side.
1281+
""");
12561282
provider.add("gtceu.gui.auto_output.name", "auto");
12571283
provider.add("gtceu.gui.overclock.title", "Overclock Tier");
12581284
provider.add("gtceu.gui.overclock.range", "Available Tiers [%s, %s]");

0 commit comments

Comments
 (0)