From 281b266b18a9d6ca536b81b12eb8c542ed68d437 Mon Sep 17 00:00:00 2001 From: Motschen Date: Tue, 5 Jul 2022 22:06:12 +0200 Subject: [PATCH] Backport 1.4.0 to 1.18 Will release this tomorrow, it's pretty late for me now. --- gradle.properties | 22 ++-- .../client/ControllerType.java | 3 +- .../midnightcontrols/client/HudSide.java | 3 +- .../client/MidnightControlsClient.java | 8 +- .../client/MidnightInput.java | 6 +- .../client/VirtualMouseSkin.java | 3 +- .../client/controller/ButtonBinding.java | 65 +++++----- .../client/controller/Controller.java | 4 +- .../client/controller/InputHandlers.java | 10 +- .../client/gui/MappingsStringInputWidget.java | 6 +- .../client/gui/MidnightControlsHud.java | 10 +- .../gui/MidnightControlsSettingsScreen.java | 111 +++++++++--------- .../gui/ReloadControllerMappingsOption.java | 5 +- .../client/gui/RingScreen.java | 3 +- .../client/gui/TouchscreenOverlay.java | 35 +++--- .../gui/widget/ControllerButtonWidget.java | 5 +- .../gui/widget/ControllerControlsWidget.java | 5 +- .../client/gui/widget/ControlsListWidget.java | 18 +-- .../client/mixin/ClientPlayerEntityMixin.java | 10 +- .../mixin/ControlsOptionsScreenMixin.java | 5 +- .../client/mixin/GameOptionsMixin.java | 7 +- .../client/mixin/HandledScreenMixin.java | 7 +- .../client/mixin/MinecraftClientMixin.java | 3 +- .../client/ring/KeyBindingRingAction.java | 3 +- .../client/ring/RingAction.java | 3 +- .../client/ring/RingButtonMode.java | 3 +- 26 files changed, 192 insertions(+), 171 deletions(-) diff --git a/gradle.properties b/gradle.properties index cad3cf6..af788ab 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,26 +3,26 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties # check these on https://fabricmc.net/use -minecraft_version=1.19 -yarn_mappings=1.19+build.1 -loader_version=0.14.7 +minecraft_version=1.18.2 +yarn_mappings=1.18.2+build.3 +loader_version=0.14.8 # Mod Properties -mod_version = 1.4.0 +mod_version = 1.4.0-1.18 maven_group = eu.midnightdust archives_base_name = midnightcontrols modrinth_id=bXX9h73M # Dependencies # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api -fabric_version=0.55.2+1.19 -sodium_version=mc1.19-0.4.2 -spruceui_version=4.0.0+1.19 -midnightlib_version=0.5.2 -modmenu_version=4.0.0 -emotecraft_version=2.1.3-SNAPSHOT-build.29-MC1.19-fabric +fabric_version=0.57.0+1.18.2 +sodium_version=mc1.18.2-0.4.1 +spruceui_version=3.3.2+1.17 +midnightlib_version=0.4.4 +modmenu_version=2.0.2 +emotecraft_version=2.1-MC1.18.1-fabric bendylib_version=2.0.+ -emi_version=0.2.0+1.19 +emi_version=0.2.0+1.18.2 # Ok Zoomer and LibZoomer are temporarily disabled for the time being, as we are currently using Reflection at runtime instead in OkZoomerCompat due to there being two major, completely incompatible API versions. # ok_zoomer_version=5.0.0-beta.3+1.17.1 diff --git a/src/main/java/eu/midnightdust/midnightcontrols/client/ControllerType.java b/src/main/java/eu/midnightdust/midnightcontrols/client/ControllerType.java index 20aecd0..8afe6dd 100644 --- a/src/main/java/eu/midnightdust/midnightcontrols/client/ControllerType.java +++ b/src/main/java/eu/midnightdust/midnightcontrols/client/ControllerType.java @@ -10,6 +10,7 @@ package eu.midnightdust.midnightcontrols.client; import net.minecraft.text.Text; +import net.minecraft.text.TranslatableText; import org.aperlambda.lambdacommon.utils.Nameable; import org.jetbrains.annotations.NotNull; @@ -39,7 +40,7 @@ public enum ControllerType implements Nameable { ControllerType(int id) { this.id = id; - this.text = Text.translatable("midnightcontrols.controller_type." + this.getName()); + this.text = new TranslatableText("midnightcontrols.controller_type." + this.getName()); } ControllerType(int id, @NotNull Text text) { diff --git a/src/main/java/eu/midnightdust/midnightcontrols/client/HudSide.java b/src/main/java/eu/midnightdust/midnightcontrols/client/HudSide.java index db3e3d6..8ce117b 100644 --- a/src/main/java/eu/midnightdust/midnightcontrols/client/HudSide.java +++ b/src/main/java/eu/midnightdust/midnightcontrols/client/HudSide.java @@ -10,6 +10,7 @@ package eu.midnightdust.midnightcontrols.client; import net.minecraft.text.Text; +import net.minecraft.text.TranslatableText; import org.aperlambda.lambdacommon.utils.Nameable; import org.jetbrains.annotations.NotNull; @@ -30,7 +31,7 @@ public enum HudSide implements Nameable { private final Text text; HudSide() { - this.text = Text.translatable(this.getTranslationKey()); + this.text = new TranslatableText(this.getTranslationKey()); } /** diff --git a/src/main/java/eu/midnightdust/midnightcontrols/client/MidnightControlsClient.java b/src/main/java/eu/midnightdust/midnightcontrols/client/MidnightControlsClient.java index 3c344bb..8921281 100644 --- a/src/main/java/eu/midnightdust/midnightcontrols/client/MidnightControlsClient.java +++ b/src/main/java/eu/midnightdust/midnightcontrols/client/MidnightControlsClient.java @@ -38,7 +38,9 @@ import net.minecraft.client.network.ClientPlayNetworkHandler; import net.minecraft.client.option.KeyBinding; import net.minecraft.client.toast.SystemToast; import net.minecraft.client.util.InputUtil; +import net.minecraft.text.LiteralText; import net.minecraft.text.Text; +import net.minecraft.text.TranslatableText; import net.minecraft.util.Identifier; import org.jetbrains.annotations.NotNull; import org.lwjgl.glfw.GLFW; @@ -134,10 +136,10 @@ public class MidnightControlsClient extends MidnightControls implements ClientMo GLFW.glfwSetJoystickCallback((jid, event) -> { if (event == GLFW.GLFW_CONNECTED) { var controller = Controller.byId(jid); - client.getToastManager().add(new SystemToast(SystemToast.Type.TUTORIAL_HINT, Text.translatable("midnightcontrols.controller.connected", jid), - Text.literal(controller.getName()))); + client.getToastManager().add(new SystemToast(SystemToast.Type.TUTORIAL_HINT, new TranslatableText("midnightcontrols.controller.connected", jid), + new LiteralText(controller.getName()))); } else if (event == GLFW.GLFW_DISCONNECTED) { - client.getToastManager().add(new SystemToast(SystemToast.Type.TUTORIAL_HINT, Text.translatable("midnightcontrols.controller.disconnected", jid), + client.getToastManager().add(new SystemToast(SystemToast.Type.TUTORIAL_HINT, new TranslatableText("midnightcontrols.controller.disconnected", jid), null)); } diff --git a/src/main/java/eu/midnightdust/midnightcontrols/client/MidnightInput.java b/src/main/java/eu/midnightdust/midnightcontrols/client/MidnightInput.java index 093dcb0..6b24835 100644 --- a/src/main/java/eu/midnightdust/midnightcontrols/client/MidnightInput.java +++ b/src/main/java/eu/midnightdust/midnightcontrols/client/MidnightInput.java @@ -348,9 +348,9 @@ public class MidnightInput { var set = ImmutableSet.of("gui.back", "gui.done", "gui.cancel", "gui.toTitle", "gui.toMenu"); return screen.children().stream().filter(element -> element instanceof PressableWidget) .map(element -> (PressableWidget) element) - .filter(element -> element.getMessage() != null && element.getMessage().getContent() != null) + .filter(element -> element.getMessage() != null) .anyMatch(element -> { - if (set.stream().anyMatch(key -> element.getMessage().getContent().toString().equals(key))) { + if (set.stream().anyMatch(key -> element.getMessage().toString().equals(key))) { element.onPress(); return true; } @@ -571,7 +571,7 @@ public class MidnightInput { labelWidget.onPress(); return true; } else if (focused instanceof WorldListWidget list) { - list.getSelectedAsOptional().ifPresent(WorldListWidget.WorldEntry::play); + list.getSelectedAsOptional().ifPresent(WorldListWidget.Entry::play); return true; } else if (focused instanceof MultiplayerServerListWidget list) { var entry = list.getSelectedOrNull(); diff --git a/src/main/java/eu/midnightdust/midnightcontrols/client/VirtualMouseSkin.java b/src/main/java/eu/midnightdust/midnightcontrols/client/VirtualMouseSkin.java index 01ac7cf..f2871ce 100644 --- a/src/main/java/eu/midnightdust/midnightcontrols/client/VirtualMouseSkin.java +++ b/src/main/java/eu/midnightdust/midnightcontrols/client/VirtualMouseSkin.java @@ -10,6 +10,7 @@ package eu.midnightdust.midnightcontrols.client; import net.minecraft.text.Text; +import net.minecraft.text.TranslatableText; import org.aperlambda.lambdacommon.utils.Nameable; import org.jetbrains.annotations.NotNull; @@ -33,7 +34,7 @@ public enum VirtualMouseSkin implements Nameable { VirtualMouseSkin(String name) { this.name = name; - this.text = Text.translatable(this.getTranslationKey()); + this.text = new TranslatableText(this.getTranslationKey()); } /** diff --git a/src/main/java/eu/midnightdust/midnightcontrols/client/controller/ButtonBinding.java b/src/main/java/eu/midnightdust/midnightcontrols/client/controller/ButtonBinding.java index 9dfe509..cb7d358 100644 --- a/src/main/java/eu/midnightdust/midnightcontrols/client/controller/ButtonBinding.java +++ b/src/main/java/eu/midnightdust/midnightcontrols/client/controller/ButtonBinding.java @@ -15,6 +15,7 @@ import net.minecraft.client.option.GameOptions; import net.minecraft.client.option.KeyBinding; import net.minecraft.client.resource.language.I18n; import net.minecraft.text.Text; +import net.minecraft.text.TranslatableText; import net.minecraft.util.Identifier; import org.aperlambda.lambdacommon.utils.function.PairPredicate; import org.aperlambda.lambdacommon.utils.function.Predicates; @@ -109,7 +110,7 @@ public class ButtonBinding { public ButtonBinding(String key, int[] defaultButton, List actions, PairPredicate filter, boolean hasCooldown) { this.setButton(this.defaultButton = defaultButton); this.key = key; - this.text = Text.translatable(this.key); + this.text = new TranslatableText(this.key); this.filter = filter; this.actions.addAll(actions); this.hasCooldown = hasCooldown; @@ -336,37 +337,37 @@ public class ButtonBinding { */ public static @NotNull Text getLocalizedButtonName(int button) { return switch (button % 500) { - case -1 -> Text.translatable("key.keyboard.unknown"); - case GLFW_GAMEPAD_BUTTON_A -> Text.translatable("midnightcontrols.button.a"); - case GLFW_GAMEPAD_BUTTON_B -> Text.translatable("midnightcontrols.button.b"); - case GLFW_GAMEPAD_BUTTON_X -> Text.translatable("midnightcontrols.button.x"); - case GLFW_GAMEPAD_BUTTON_Y -> Text.translatable("midnightcontrols.button.y"); - case GLFW_GAMEPAD_BUTTON_LEFT_BUMPER -> Text.translatable("midnightcontrols.button.left_bumper"); - case GLFW_GAMEPAD_BUTTON_RIGHT_BUMPER -> Text.translatable("midnightcontrols.button.right_bumper"); - case GLFW_GAMEPAD_BUTTON_BACK -> Text.translatable("midnightcontrols.button.back"); - case GLFW_GAMEPAD_BUTTON_START -> Text.translatable("midnightcontrols.button.start"); - case GLFW_GAMEPAD_BUTTON_GUIDE -> Text.translatable("midnightcontrols.button.guide"); - case GLFW_GAMEPAD_BUTTON_LEFT_THUMB -> Text.translatable("midnightcontrols.button.left_thumb"); - case GLFW_GAMEPAD_BUTTON_RIGHT_THUMB -> Text.translatable("midnightcontrols.button.right_thumb"); - case GLFW_GAMEPAD_BUTTON_DPAD_UP -> Text.translatable("midnightcontrols.button.dpad_up"); - case GLFW_GAMEPAD_BUTTON_DPAD_RIGHT -> Text.translatable("midnightcontrols.button.dpad_right"); - case GLFW_GAMEPAD_BUTTON_DPAD_DOWN -> Text.translatable("midnightcontrols.button.dpad_down"); - case GLFW_GAMEPAD_BUTTON_DPAD_LEFT -> Text.translatable("midnightcontrols.button.dpad_left"); - case 100 -> Text.translatable("midnightcontrols.axis.left_x+"); - case 101 -> Text.translatable("midnightcontrols.axis.left_y+"); - case 102 -> Text.translatable("midnightcontrols.axis.right_x+"); - case 103 -> Text.translatable("midnightcontrols.axis.right_y+"); - case 104 -> Text.translatable("midnightcontrols.axis.left_trigger"); - case 105 -> Text.translatable("midnightcontrols.axis.right_trigger"); - case 200 -> Text.translatable("midnightcontrols.axis.left_x-"); - case 201 -> Text.translatable("midnightcontrols.axis.left_y-"); - case 202 -> Text.translatable("midnightcontrols.axis.right_x-"); - case 203 -> Text.translatable("midnightcontrols.axis.right_y-"); - case 15 -> Text.translatable("midnightcontrols.button.l4"); - case 16 -> Text.translatable("midnightcontrols.button.l5"); - case 17 -> Text.translatable("midnightcontrols.button.r4"); - case 18 -> Text.translatable("midnightcontrols.button.r5"); - default -> Text.translatable("midnightcontrols.button.unknown", button); + case -1 -> new TranslatableText("key.keyboard.unknown"); + case GLFW_GAMEPAD_BUTTON_A -> new TranslatableText("midnightcontrols.button.a"); + case GLFW_GAMEPAD_BUTTON_B -> new TranslatableText("midnightcontrols.button.b"); + case GLFW_GAMEPAD_BUTTON_X -> new TranslatableText("midnightcontrols.button.x"); + case GLFW_GAMEPAD_BUTTON_Y -> new TranslatableText("midnightcontrols.button.y"); + case GLFW_GAMEPAD_BUTTON_LEFT_BUMPER -> new TranslatableText("midnightcontrols.button.left_bumper"); + case GLFW_GAMEPAD_BUTTON_RIGHT_BUMPER -> new TranslatableText("midnightcontrols.button.right_bumper"); + case GLFW_GAMEPAD_BUTTON_BACK -> new TranslatableText("midnightcontrols.button.back"); + case GLFW_GAMEPAD_BUTTON_START -> new TranslatableText("midnightcontrols.button.start"); + case GLFW_GAMEPAD_BUTTON_GUIDE -> new TranslatableText("midnightcontrols.button.guide"); + case GLFW_GAMEPAD_BUTTON_LEFT_THUMB -> new TranslatableText("midnightcontrols.button.left_thumb"); + case GLFW_GAMEPAD_BUTTON_RIGHT_THUMB -> new TranslatableText("midnightcontrols.button.right_thumb"); + case GLFW_GAMEPAD_BUTTON_DPAD_UP -> new TranslatableText("midnightcontrols.button.dpad_up"); + case GLFW_GAMEPAD_BUTTON_DPAD_RIGHT -> new TranslatableText("midnightcontrols.button.dpad_right"); + case GLFW_GAMEPAD_BUTTON_DPAD_DOWN -> new TranslatableText("midnightcontrols.button.dpad_down"); + case GLFW_GAMEPAD_BUTTON_DPAD_LEFT -> new TranslatableText("midnightcontrols.button.dpad_left"); + case 100 -> new TranslatableText("midnightcontrols.axis.left_x+"); + case 101 -> new TranslatableText("midnightcontrols.axis.left_y+"); + case 102 -> new TranslatableText("midnightcontrols.axis.right_x+"); + case 103 -> new TranslatableText("midnightcontrols.axis.right_y+"); + case 104 -> new TranslatableText("midnightcontrols.axis.left_trigger"); + case 105 -> new TranslatableText("midnightcontrols.axis.right_trigger"); + case 200 -> new TranslatableText("midnightcontrols.axis.left_x-"); + case 201 -> new TranslatableText("midnightcontrols.axis.left_y-"); + case 202 -> new TranslatableText("midnightcontrols.axis.right_x-"); + case 203 -> new TranslatableText("midnightcontrols.axis.right_y-"); + case 15 -> new TranslatableText("midnightcontrols.button.l4"); + case 16 -> new TranslatableText("midnightcontrols.button.l5"); + case 17 -> new TranslatableText("midnightcontrols.button.r4"); + case 18 -> new TranslatableText("midnightcontrols.button.r5"); + default -> new TranslatableText("midnightcontrols.button.unknown", button); }; } diff --git a/src/main/java/eu/midnightdust/midnightcontrols/client/controller/Controller.java b/src/main/java/eu/midnightdust/midnightcontrols/client/controller/Controller.java index 87c397b..9f16c88 100644 --- a/src/main/java/eu/midnightdust/midnightcontrols/client/controller/Controller.java +++ b/src/main/java/eu/midnightdust/midnightcontrols/client/controller/Controller.java @@ -15,7 +15,9 @@ import eu.midnightdust.midnightcontrols.client.MidnightControlsConfig; import net.minecraft.client.MinecraftClient; import net.minecraft.client.resource.language.I18n; import net.minecraft.client.toast.SystemToast; +import net.minecraft.text.LiteralText; import net.minecraft.text.Text; +import net.minecraft.text.TranslatableText; import org.aperlambda.lambdacommon.utils.Nameable; import org.jetbrains.annotations.NotNull; import org.lwjgl.glfw.GLFW; @@ -177,7 +179,7 @@ public record Controller(int id) implements Nameable { var client = MinecraftClient.getInstance(); if (client != null) { client.getToastManager().add(SystemToast.create(client, SystemToast.Type.TUTORIAL_HINT, - Text.translatable("midnightcontrols.controller.mappings.error"), Text.literal(string))); + new TranslatableText("midnightcontrols.controller.mappings.error"), new LiteralText(string))); MidnightControls.get().log(I18n.translate("midnightcontrols.controller.mappings.error")+string); } } diff --git a/src/main/java/eu/midnightdust/midnightcontrols/client/controller/InputHandlers.java b/src/main/java/eu/midnightdust/midnightcontrols/client/controller/InputHandlers.java index 4885c4e..49ed88f 100644 --- a/src/main/java/eu/midnightdust/midnightcontrols/client/controller/InputHandlers.java +++ b/src/main/java/eu/midnightdust/midnightcontrols/client/controller/InputHandlers.java @@ -125,7 +125,7 @@ public class InputHandlers { if (next) { return client.currentScreen.children().stream().filter(element -> element instanceof PressableWidget) .map(element -> (PressableWidget) element) - .filter(element -> element.getMessage() != null && element.getMessage().getContent() != null) + .filter(element -> element.getMessage() != null) .anyMatch(element -> { if (element.getMessage().getString().equals(">")) { element.onPress(); @@ -136,7 +136,7 @@ public class InputHandlers { } else { return client.currentScreen.children().stream().filter(element -> element instanceof PressableWidget) .map(element -> (PressableWidget) element) - .filter(element -> element.getMessage() != null && element.getMessage().getContent() != null) + .filter(element -> element.getMessage() != null) .anyMatch(element -> { if (element.getMessage().getString().equals("<")) { element.onPress(); @@ -232,12 +232,12 @@ public class InputHandlers { public static boolean handleToggleSneak(@NotNull MinecraftClient client, @NotNull ButtonBinding button, float value, @NotNull ButtonState action) { button.asKeyBinding().ifPresent(binding -> { - boolean sneakToggled = client.options.getSneakToggled().getValue(); + boolean sneakToggled = client.options.sneakToggled; if (client.player.getAbilities().flying && sneakToggled) - client.options.getSneakToggled().setValue(false); + client.options.sneakToggled = false; binding.setPressed(button.pressed); if (client.player.getAbilities().flying && sneakToggled) - client.options.getSneakToggled().setValue(true); + client.options.sneakToggled = true; }); return true; } diff --git a/src/main/java/eu/midnightdust/midnightcontrols/client/gui/MappingsStringInputWidget.java b/src/main/java/eu/midnightdust/midnightcontrols/client/gui/MappingsStringInputWidget.java index d5b0835..f144474 100644 --- a/src/main/java/eu/midnightdust/midnightcontrols/client/gui/MappingsStringInputWidget.java +++ b/src/main/java/eu/midnightdust/midnightcontrols/client/gui/MappingsStringInputWidget.java @@ -16,7 +16,9 @@ import dev.lambdaurora.spruceui.option.SpruceOption; import dev.lambdaurora.spruceui.widget.container.SpruceContainerWidget; import dev.lambdaurora.spruceui.widget.text.SpruceTextAreaWidget; import net.minecraft.client.toast.SystemToast; +import net.minecraft.text.LiteralText; import net.minecraft.text.Text; +import net.minecraft.text.TranslatableText; import java.io.FileWriter; import java.io.IOException; @@ -64,7 +66,7 @@ public class MappingsStringInputWidget extends SpruceContainerWidget { } catch (IOException e) { if (this.client != null) this.client.getToastManager().add(SystemToast.create(this.client, SystemToast.Type.TUTORIAL_HINT, - Text.translatable("midnightcontrols.controller.mappings.error.write"), Text.empty())); + new TranslatableText("midnightcontrols.controller.mappings.error.write"), Text.of(""))); e.printStackTrace(); } } @@ -89,7 +91,7 @@ public class MappingsStringInputWidget extends SpruceContainerWidget { } int textFieldWidth = (int) (this.width * (5.0 / 6.0)); - this.textArea = new SpruceTextAreaWidget(Position.of(this, this.width / 2 - textFieldWidth / 2, 0), textFieldWidth, this.height - 50, Text.literal(mappings)); + this.textArea = new SpruceTextAreaWidget(Position.of(this, this.width / 2 - textFieldWidth / 2, 0), textFieldWidth, this.height - 50, new LiteralText(mappings)); this.textArea.setText(mappings); // Display as many lines as possible this.textArea.setDisplayedLines(this.textArea.getInnerHeight() / this.client.textRenderer.fontHeight); diff --git a/src/main/java/eu/midnightdust/midnightcontrols/client/gui/MidnightControlsHud.java b/src/main/java/eu/midnightdust/midnightcontrols/client/gui/MidnightControlsHud.java index d27bbbc..a4b58d9 100644 --- a/src/main/java/eu/midnightdust/midnightcontrols/client/gui/MidnightControlsHud.java +++ b/src/main/java/eu/midnightdust/midnightcontrols/client/gui/MidnightControlsHud.java @@ -72,7 +72,7 @@ public class MidnightControlsHud extends Hud { this.dropItemButtonWidth = MidnightControlsRenderer.getBindingIconWidth(ButtonBinding.DROP_ITEM); this.attackButtonWidth = MidnightControlsRenderer.getBindingIconWidth(ButtonBinding.ATTACK); this.useButtonWidth = MidnightControlsRenderer.getBindingIconWidth(ButtonBinding.USE); - if (client.options.getGuiScale().getValue() >= 4) { + if (client.options.guiScale >= 4) { scale = 0.75f; } else scale = 1f; } @@ -114,7 +114,7 @@ public class MidnightControlsHud extends Hud { this.drawButton(matrices, currentX, y, ButtonBinding.INVENTORY, true); this.drawButton(matrices, currentX += (MidnightControlsConfig.hudSide == HudSide.LEFT ? offset : -offset), y, ButtonBinding.SWAP_HANDS, true); offset = 2 + this.swapHandsWidth + this.dropItemButtonWidth + 4; - if (this.client.options.getShowSubtitles().getValue() && MidnightControlsConfig.hudSide == HudSide.RIGHT) { + if (this.client.options.showSubtitles && MidnightControlsConfig.hudSide == HudSide.RIGHT) { currentX += -offset; } else { currentX = MidnightControlsConfig.hudSide == HudSide.LEFT ? x : x - this.dropItemButtonWidth; @@ -131,7 +131,7 @@ public class MidnightControlsHud extends Hud { currentX -= this.useButtonWidth; this.drawButton(matrices, currentX, y, ButtonBinding.USE, true); offset = 2 + this.useWidth + 4; - if (this.client.options.getShowSubtitles().getValue() && MidnightControlsConfig.hudSide == HudSide.LEFT) { + if (this.client.options.showSubtitles && MidnightControlsConfig.hudSide == HudSide.LEFT) { currentX -= offset; } else { currentX = x; @@ -151,7 +151,7 @@ public class MidnightControlsHud extends Hud { currentX += MidnightControlsConfig.hudSide == HudSide.LEFT ? this.inventoryWidth + 4 + this.swapHandsButtonWidth + 2 : -this.swapHandsWidth - 2 - this.swapHandsButtonWidth - 4; this.drawTip(matrices, currentX, y, ButtonBinding.SWAP_HANDS, true); - if (this.client.options.getShowSubtitles().getValue() && MidnightControlsConfig.hudSide == HudSide.RIGHT) { + if (this.client.options.showSubtitles && MidnightControlsConfig.hudSide == HudSide.RIGHT) { currentX += -this.dropItemWidth - 2 - this.dropItemButtonWidth - 4; } else { y -= 24; @@ -168,7 +168,7 @@ public class MidnightControlsHud extends Hud { this.drawTip(matrices, currentX, y, this.placeAction, true); - if (this.client.options.getShowSubtitles().getValue() && MidnightControlsConfig.hudSide == HudSide.LEFT) { + if (this.client.options.showSubtitles && MidnightControlsConfig.hudSide == HudSide.LEFT) { currentX -= 4; } else { currentX = x; diff --git a/src/main/java/eu/midnightdust/midnightcontrols/client/gui/MidnightControlsSettingsScreen.java b/src/main/java/eu/midnightdust/midnightcontrols/client/gui/MidnightControlsSettingsScreen.java index 22ef957..6c6f593 100644 --- a/src/main/java/eu/midnightdust/midnightcontrols/client/gui/MidnightControlsSettingsScreen.java +++ b/src/main/java/eu/midnightdust/midnightcontrols/client/gui/MidnightControlsSettingsScreen.java @@ -34,8 +34,10 @@ import net.minecraft.client.gui.widget.ButtonWidget; import net.minecraft.client.render.*; import net.minecraft.client.resource.language.I18n; import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.text.LiteralText; import net.minecraft.text.MutableText; import net.minecraft.text.Text; +import net.minecraft.text.TranslatableText; import net.minecraft.util.Formatting; import net.minecraft.util.Util; import net.minecraft.util.math.Matrix4f; @@ -47,7 +49,7 @@ import java.awt.*; * Represents the midnightcontrols settings screen. */ public class MidnightControlsSettingsScreen extends SpruceScreen { - private static final Text SDL2_GAMEPAD_TOOL = Text.literal("SDL2 Gamepad Tool").formatted(Formatting.GREEN); + private static final Text SDL2_GAMEPAD_TOOL = new LiteralText("SDL2 Gamepad Tool").formatted(Formatting.GREEN); public static final String GAMEPAD_TOOL_URL = "https://generalarcade.com/gamepadtool/"; final MidnightControlsClient mod = MidnightControlsClient.get(); private final Screen parent; @@ -88,11 +90,11 @@ public class MidnightControlsSettingsScreen extends SpruceScreen { var controller = MidnightControlsConfig.getController(); var controllerName = controller.getName(); if (!controller.isConnected()) - return option.getDisplayText(Text.literal(controllerName).formatted(Formatting.RED)); + return option.getDisplayText(new LiteralText(controllerName).formatted(Formatting.RED)); else if (!controller.isGamepad()) - return option.getDisplayText(Text.literal(controllerName).formatted(Formatting.GOLD)); + return option.getDisplayText(new LiteralText(controllerName).formatted(Formatting.GOLD)); else - return option.getDisplayText(Text.literal(controllerName)); + return option.getDisplayText(new LiteralText(controllerName)); }, null); private final SpruceOption secondControllerOption = new SpruceCyclingOption("midnightcontrols.menu.controller2", amount -> { @@ -106,13 +108,13 @@ public class MidnightControlsSettingsScreen extends SpruceScreen { option -> MidnightControlsConfig.getSecondController().map(controller -> { var controllerName = controller.getName(); if (!controller.isConnected()) - return option.getDisplayText(Text.literal(controllerName).formatted(Formatting.RED)); + return option.getDisplayText(new LiteralText(controllerName).formatted(Formatting.RED)); else if (!controller.isGamepad()) - return option.getDisplayText(Text.literal(controllerName).formatted(Formatting.GOLD)); + return option.getDisplayText(new LiteralText(controllerName).formatted(Formatting.GOLD)); else - return option.getDisplayText(Text.literal(controllerName)); - }).orElse(option.getDisplayText(SpruceTexts.OPTIONS_OFF.copyContentOnly().formatted(Formatting.RED))), - Text.translatable("midnightcontrols.tooltip.controller2")); + return option.getDisplayText(new LiteralText(controllerName)); + }).orElse(option.getDisplayText(SpruceTexts.OPTIONS_OFF.copy().formatted(Formatting.RED))), + new TranslatableText("midnightcontrols.tooltip.controller2")); private final SpruceOption unfocusedInputOption; private final SpruceOption invertsRightXAxis; private final SpruceOption invertsRightYAxis; @@ -129,13 +131,13 @@ public class MidnightControlsSettingsScreen extends SpruceScreen { return new SpruceDoubleOption(key, .25f, 1.f, 0.05f, () -> MidnightControlsConfig.getAxisMaxValue(axis), newValue -> MidnightControlsConfig.setAxisMaxValue(axis, newValue), - option -> option.getDisplayText(Text.literal(String.format("%.2f", option.get()))), - Text.translatable(key.replace("menu", "tooltip")) + option -> option.getDisplayText(new LiteralText(String.format("%.2f", option.get()))), + new TranslatableText(key.replace("menu", "tooltip")) ); } - private final MutableText controllerMappingsUrlText = Text.literal("(") - .append(Text.literal(GAMEPAD_TOOL_URL).formatted(Formatting.GOLD)) + private final MutableText controllerMappingsUrlText = new LiteralText("(") + .append(new LiteralText(GAMEPAD_TOOL_URL).formatted(Formatting.GOLD)) .append("),"); private static int searchNextAvailableController(int newId, boolean allowNone) { @@ -153,7 +155,7 @@ public class MidnightControlsSettingsScreen extends SpruceScreen { } public MidnightControlsSettingsScreen(Screen parent, boolean hideControls) { - super(Text.translatable("midnightcontrols.title.settings")); + super(new TranslatableText("midnightcontrols.title.settings")); MidnightControlsConfig.isEditing = true; this.parent = parent; // General options @@ -166,22 +168,22 @@ public class MidnightControlsSettingsScreen extends SpruceScreen { if (this.client.player != null) { ClientPlayNetworking.getSender().sendPacket(MidnightControls.CONTROLS_MODE_CHANNEL, this.mod.makeControlsModeBuffer(next)); } - }, option -> option.getDisplayText(Text.translatable(MidnightControlsConfig.controlsMode.getTranslationKey())), - Text.translatable("midnightcontrols.tooltip.controls_mode")); + }, option -> option.getDisplayText(new TranslatableText(MidnightControlsConfig.controlsMode.getTranslationKey())), + new TranslatableText("midnightcontrols.tooltip.controls_mode")); this.autoSwitchModeOption = new SpruceToggleBooleanOption("midnightcontrols.menu.auto_switch_mode", () -> MidnightControlsConfig.autoSwitchMode, - value -> MidnightControlsConfig.autoSwitchMode = value, Text.translatable("midnightcontrols.tooltip.auto_switch_mode")); + value -> MidnightControlsConfig.autoSwitchMode = value, new TranslatableText("midnightcontrols.tooltip.auto_switch_mode")); this.rotationSpeedOption = new SpruceDoubleOption("midnightcontrols.menu.rotation_speed", 0.0, 100.0, .5f, () -> MidnightControlsConfig.rotationSpeed, - value -> MidnightControlsConfig.rotationSpeed = value, option -> option.getDisplayText(Text.literal(String.valueOf(option.get()))), - Text.translatable("midnightcontrols.tooltip.rotation_speed")); + value -> MidnightControlsConfig.rotationSpeed = value, option -> option.getDisplayText(new LiteralText(String.valueOf(option.get()))), + new TranslatableText("midnightcontrols.tooltip.rotation_speed")); this.yAxisRotationSpeedOption = new SpruceDoubleOption("midnightcontrols.menu.y_axis_rotation_speed", 0.0, 100.0, .5f, () -> MidnightControlsConfig.yAxisRotationSpeed, - value -> MidnightControlsConfig.yAxisRotationSpeed = value, option -> option.getDisplayText(Text.literal(String.valueOf(option.get()))), - Text.translatable("midnightcontrols.tooltip.y_axis_rotation_speed")); + value -> MidnightControlsConfig.yAxisRotationSpeed = value, option -> option.getDisplayText(new LiteralText(String.valueOf(option.get()))), + new TranslatableText("midnightcontrols.tooltip.y_axis_rotation_speed")); this.mouseSpeedOption = new SpruceDoubleOption("midnightcontrols.menu.mouse_speed", 0.0, 150.0, .5f, () -> MidnightControlsConfig.mouseSpeed, - value -> MidnightControlsConfig.mouseSpeed = value, option -> option.getDisplayText(Text.literal(String.valueOf(option.get()))), - Text.translatable("midnightcontrols.tooltip.mouse_speed")); + value -> MidnightControlsConfig.mouseSpeed = value, option -> option.getDisplayText(new LiteralText(String.valueOf(option.get()))), + new TranslatableText("midnightcontrols.tooltip.mouse_speed")); this.resetOption = SpruceSimpleActionOption.reset(btn -> { // TODO MidnightControlsConfig.reset(); @@ -191,60 +193,60 @@ public class MidnightControlsSettingsScreen extends SpruceScreen { // Gameplay options this.analogMovementOption = new SpruceToggleBooleanOption("midnightcontrols.menu.analog_movement", () -> MidnightControlsConfig.analogMovement, value -> MidnightControlsConfig.analogMovement = value, - Text.translatable("midnightcontrols.tooltip.analog_movement")); + new TranslatableText("midnightcontrols.tooltip.analog_movement")); this.doubleTapToSprintOption = new SpruceToggleBooleanOption("midnightcontrols.menu.double_tap_to_sprint", () -> MidnightControlsConfig.doubleTapToSprint, value -> MidnightControlsConfig.doubleTapToSprint = value, - Text.translatable("midnightcontrols.tooltip.double_tap_to_sprint")); + new TranslatableText("midnightcontrols.tooltip.double_tap_to_sprint")); this.autoJumpOption = new SpruceToggleBooleanOption("options.autoJump", - () -> this.client.options.getAutoJump().getValue(), - newValue -> this.client.options.getAutoJump().setValue(newValue), + () -> this.client.options.autoJump, + newValue -> this.client.options.autoJump = newValue, null); this.fastBlockPlacingOption = new SpruceToggleBooleanOption("midnightcontrols.menu.fast_block_placing", () -> MidnightControlsConfig.fastBlockPlacing, - value -> MidnightControlsConfig.fastBlockPlacing = value, Text.translatable("midnightcontrols.tooltip.fast_block_placing")); + value -> MidnightControlsConfig.fastBlockPlacing = value, new TranslatableText("midnightcontrols.tooltip.fast_block_placing")); this.frontBlockPlacingOption = new SpruceToggleBooleanOption("midnightcontrols.menu.reacharound.horizontal", () -> MidnightControlsConfig.horizontalReacharound, - value -> MidnightControlsConfig.horizontalReacharound = value, Text.translatable("midnightcontrols.tooltip.reacharound.horizontal")); + value -> MidnightControlsConfig.horizontalReacharound = value, new TranslatableText("midnightcontrols.tooltip.reacharound.horizontal")); this.verticalReacharoundOption = new SpruceToggleBooleanOption("midnightcontrols.menu.reacharound.vertical", () -> MidnightControlsConfig.verticalReacharound, - value -> MidnightControlsConfig.verticalReacharound = value, Text.translatable("midnightcontrols.tooltip.reacharound.vertical")); + value -> MidnightControlsConfig.verticalReacharound = value, new TranslatableText("midnightcontrols.tooltip.reacharound.vertical")); this.flyDriftingOption = new SpruceToggleBooleanOption("midnightcontrols.menu.fly_drifting", () -> MidnightControlsConfig.flyDrifting, - value -> MidnightControlsConfig.flyDrifting = value, Text.translatable("midnightcontrols.tooltip.fly_drifting")); + value -> MidnightControlsConfig.flyDrifting = value, new TranslatableText("midnightcontrols.tooltip.fly_drifting")); this.flyVerticalDriftingOption = new SpruceToggleBooleanOption("midnightcontrols.menu.fly_drifting_vertical", () -> MidnightControlsConfig.verticalFlyDrifting, - value -> MidnightControlsConfig.verticalFlyDrifting = value, Text.translatable("midnightcontrols.tooltip.fly_drifting_vertical")); + value -> MidnightControlsConfig.verticalFlyDrifting = value, new TranslatableText("midnightcontrols.tooltip.fly_drifting_vertical")); // Appearance options this.controllerTypeOption = new SpruceCyclingOption("midnightcontrols.menu.controller_type", amount -> MidnightControlsConfig.controllerType = MidnightControlsConfig.controllerType.next(), option -> option.getDisplayText(MidnightControlsConfig.controllerType.getTranslatedText()), - Text.translatable("midnightcontrols.tooltip.controller_type")); + new TranslatableText("midnightcontrols.tooltip.controller_type")); this.virtualMouseSkinOption = new SpruceCyclingOption("midnightcontrols.menu.virtual_mouse.skin", amount -> MidnightControlsConfig.virtualMouseSkin = MidnightControlsConfig.virtualMouseSkin.next(), option -> option.getDisplayText(MidnightControlsConfig.virtualMouseSkin.getTranslatedText()), null); this.hudEnableOption = new SpruceToggleBooleanOption("midnightcontrols.menu.hud_enable", () -> MidnightControlsConfig.hudEnable, - this.mod::setHudEnabled, Text.translatable("midnightcontrols.tooltip.hud_enable")); + this.mod::setHudEnabled, new TranslatableText("midnightcontrols.tooltip.hud_enable")); this.hudSideOption = new SpruceCyclingOption("midnightcontrols.menu.hud_side", amount -> MidnightControlsConfig.hudSide = MidnightControlsConfig.hudSide.next(), option -> option.getDisplayText(MidnightControlsConfig.hudSide.getTranslatedText()), - Text.translatable("midnightcontrols.tooltip.hud_side")); + new TranslatableText("midnightcontrols.tooltip.hud_side")); // Controller options this.rightDeadZoneOption = new SpruceDoubleOption("midnightcontrols.menu.right_dead_zone", 0.05, 1.0, .05f, () -> MidnightControlsConfig.rightDeadZone, value -> MidnightControlsConfig.rightDeadZone = value, option -> { var value = String.valueOf(option.get()); - return option.getDisplayText(Text.literal(value.substring(0, Math.min(value.length(), 5)))); - }, Text.translatable("midnightcontrols.tooltip.right_dead_zone")); + return option.getDisplayText(new LiteralText(value.substring(0, Math.min(value.length(), 5)))); + }, new TranslatableText("midnightcontrols.tooltip.right_dead_zone")); this.leftDeadZoneOption = new SpruceDoubleOption("midnightcontrols.menu.left_dead_zone", 0.05, 1.0, .05f, () -> MidnightControlsConfig.leftDeadZone, value -> MidnightControlsConfig.leftDeadZone = value, option -> { var value = String.valueOf(option.get()); - return option.getDisplayText(Text.literal(value.substring(0, Math.min(value.length(), 5)))); - }, Text.translatable("midnightcontrols.tooltip.left_dead_zone")); + return option.getDisplayText(new LiteralText(value.substring(0, Math.min(value.length(), 5)))); + }, new TranslatableText("midnightcontrols.tooltip.left_dead_zone")); this.invertsRightXAxis = new SpruceToggleBooleanOption("midnightcontrols.menu.invert_right_x_axis", () -> MidnightControlsConfig.invertRightXAxis, value -> MidnightControlsConfig.invertRightXAxis = value, null); this.invertsRightYAxis = new SpruceToggleBooleanOption("midnightcontrols.menu.invert_right_y_axis", () -> MidnightControlsConfig.invertRightYAxis, value -> MidnightControlsConfig.invertRightYAxis = value, null); this.unfocusedInputOption = new SpruceToggleBooleanOption("midnightcontrols.menu.unfocused_input", () -> MidnightControlsConfig.unfocusedInput, - value -> MidnightControlsConfig.unfocusedInput = value, Text.translatable("midnightcontrols.tooltip.unfocused_input")); + value -> MidnightControlsConfig.unfocusedInput = value, new TranslatableText("midnightcontrols.tooltip.unfocused_input")); this.virtualMouseOption = new SpruceToggleBooleanOption("midnightcontrols.menu.virtual_mouse", () -> MidnightControlsConfig.virtualMouse, - value -> MidnightControlsConfig.virtualMouse = value, Text.translatable("midnightcontrols.tooltip.virtual_mouse")); + value -> MidnightControlsConfig.virtualMouse = value, new TranslatableText("midnightcontrols.tooltip.virtual_mouse")); } @Override @@ -283,22 +285,22 @@ public class MidnightControlsSettingsScreen extends SpruceScreen { tabs.getList().setBackground(new MidnightControlsBackground()); this.addDrawableChild(tabs); - tabs.addSeparatorEntry(Text.translatable("midnightcontrols.menu.separator.general")); - tabs.addTabEntry(Text.translatable("midnightcontrols.menu.title.general"), null, + tabs.addSeparatorEntry(new TranslatableText("midnightcontrols.menu.separator.general")); + tabs.addTabEntry(new TranslatableText("midnightcontrols.menu.title.general"), null, this::buildGeneralTab); - tabs.addTabEntry(Text.translatable("midnightcontrols.menu.title.gameplay"), null, + tabs.addTabEntry(new TranslatableText("midnightcontrols.menu.title.gameplay"), null, this::buildGameplayTab); - tabs.addTabEntry(Text.translatable("midnightcontrols.menu.title.visual"), null, + tabs.addTabEntry(new TranslatableText("midnightcontrols.menu.title.visual"), null, this::buildVisualTab); - tabs.addSeparatorEntry(Text.translatable("options.controls")); - tabs.addTabEntry(Text.translatable("midnightcontrols.menu.title.controller_controls"), null, + tabs.addSeparatorEntry(new TranslatableText("options.controls")); + tabs.addTabEntry(new TranslatableText("midnightcontrols.menu.title.controller_controls"), null, this::buildControllerControlsTab); - tabs.addSeparatorEntry(Text.translatable("midnightcontrols.menu.separator.controller")); - tabs.addTabEntry(Text.translatable("midnightcontrols.menu.title.controller"), null, + tabs.addSeparatorEntry(new TranslatableText("midnightcontrols.menu.separator.controller")); + tabs.addTabEntry(new TranslatableText("midnightcontrols.menu.title.controller"), null, this::buildControllerTab); - tabs.addTabEntry(Text.translatable("midnightcontrols.menu.title.mappings.string"), null, + tabs.addTabEntry(new TranslatableText("midnightcontrols.menu.title.mappings.string"), null, this::buildMappingsStringEditorTab); } @@ -347,17 +349,17 @@ public class MidnightControlsSettingsScreen extends SpruceScreen { var root = new SpruceContainerWidget(Position.origin(), width, height); var aboutMappings1 = new SpruceLabelWidget(Position.of(0, 2), - Text.translatable("midnightcontrols.controller.mappings.1", SDL2_GAMEPAD_TOOL), + new TranslatableText("midnightcontrols.controller.mappings.1", SDL2_GAMEPAD_TOOL), width, true); var gamepadToolUrlLabel = new SpruceLabelWidget(Position.of(0, aboutMappings1.getHeight() + 4), this.controllerMappingsUrlText, width, label -> Util.getOperatingSystem().open(GAMEPAD_TOOL_URL), true); - gamepadToolUrlLabel.setTooltip(Text.translatable("chat.link.open")); + gamepadToolUrlLabel.setTooltip(new TranslatableText("chat.link.open")); var aboutMappings3 = new SpruceLabelWidget(Position.of(0, aboutMappings1.getHeight() + gamepadToolUrlLabel.getHeight() + 6), - Text.translatable("midnightcontrols.controller.mappings.3", Formatting.GREEN.toString(), Formatting.RESET.toString()), + new TranslatableText("midnightcontrols.controller.mappings.3", Formatting.GREEN.toString(), Formatting.RESET.toString()), width, true); int listHeight = height - 8 - aboutMappings1.getHeight() - aboutMappings3.getHeight() - gamepadToolUrlLabel.getHeight(); @@ -422,7 +424,8 @@ public class MidnightControlsSettingsScreen extends SpruceScreen { bufferBuilder.vertex(matrix, (float)x2, (float)y2, 0.0F).color(r, g, b, t).next(); bufferBuilder.vertex(matrix, (float)x2, (float)y1, 0.0F).color(r, g, b, t).next(); bufferBuilder.vertex(matrix, (float)x1, (float)y1, 0.0F).color(r, g, b, t).next(); - BufferRenderer.drawWithShader(bufferBuilder.end()); + bufferBuilder.end(); + BufferRenderer.draw(bufferBuilder); RenderSystem.enableTexture(); RenderSystem.disableBlend(); matrixStack.pop(); diff --git a/src/main/java/eu/midnightdust/midnightcontrols/client/gui/ReloadControllerMappingsOption.java b/src/main/java/eu/midnightdust/midnightcontrols/client/gui/ReloadControllerMappingsOption.java index 372cce3..1b6eda5 100644 --- a/src/main/java/eu/midnightdust/midnightcontrols/client/gui/ReloadControllerMappingsOption.java +++ b/src/main/java/eu/midnightdust/midnightcontrols/client/gui/ReloadControllerMappingsOption.java @@ -15,6 +15,7 @@ import dev.lambdaurora.spruceui.widget.SpruceButtonWidget; import net.minecraft.client.MinecraftClient; import net.minecraft.client.toast.SystemToast; import net.minecraft.text.Text; +import net.minecraft.text.TranslatableText; import org.jetbrains.annotations.Nullable; import java.util.function.Consumer; @@ -34,7 +35,7 @@ public class ReloadControllerMappingsOption { if (client.currentScreen instanceof MidnightControlsSettingsScreen) client.currentScreen.init(client, client.getWindow().getScaledWidth(), client.getWindow().getScaledHeight()); client.getToastManager().add(SystemToast.create(client, SystemToast.Type.TUTORIAL_HINT, - Text.translatable("midnightcontrols.controller.mappings.updated"), Text.empty())); - }, Text.translatable("midnightcontrols.tooltip.reload_controller_mappings")); + new TranslatableText("midnightcontrols.controller.mappings.updated"), Text.of(""))); + }, new TranslatableText("midnightcontrols.tooltip.reload_controller_mappings")); } } diff --git a/src/main/java/eu/midnightdust/midnightcontrols/client/gui/RingScreen.java b/src/main/java/eu/midnightdust/midnightcontrols/client/gui/RingScreen.java index 5491e58..65c3e7e 100644 --- a/src/main/java/eu/midnightdust/midnightcontrols/client/gui/RingScreen.java +++ b/src/main/java/eu/midnightdust/midnightcontrols/client/gui/RingScreen.java @@ -13,6 +13,7 @@ import eu.midnightdust.midnightcontrols.client.MidnightControlsClient; import eu.midnightdust.midnightcontrols.client.ring.RingPage; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.text.LiteralText; import net.minecraft.text.Text; /** @@ -26,7 +27,7 @@ public class RingScreen extends Screen { protected final MidnightControlsClient mod; public RingScreen() { - super(Text.literal("midnightcontrols.menu.title.ring")); + super(new LiteralText("midnightcontrols.menu.title.ring")); this.mod = MidnightControlsClient.get(); } diff --git a/src/main/java/eu/midnightdust/midnightcontrols/client/gui/TouchscreenOverlay.java b/src/main/java/eu/midnightdust/midnightcontrols/client/gui/TouchscreenOverlay.java index 9a73ad6..b2fd406 100644 --- a/src/main/java/eu/midnightdust/midnightcontrols/client/gui/TouchscreenOverlay.java +++ b/src/main/java/eu/midnightdust/midnightcontrols/client/gui/TouchscreenOverlay.java @@ -22,6 +22,7 @@ import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.ingame.InventoryScreen; import net.minecraft.client.gui.widget.TexturedButtonWidget; import net.minecraft.network.packet.c2s.play.PlayerActionC2SPacket; +import net.minecraft.text.LiteralText; import net.minecraft.text.Text; import net.minecraft.util.Arm; import net.minecraft.util.Identifier; @@ -51,7 +52,7 @@ public class TouchscreenOverlay extends Screen { private SilentTexturedButtonWidget endSneakButton; public TouchscreenOverlay(@NotNull MidnightControlsClient mod) { - super(Text.literal("Touchscreen overlay")); + super(new LiteralText("Touchscreen overlay")); this.mod = mod; this.passEvents = true; } @@ -155,13 +156,13 @@ public class TouchscreenOverlay extends Screen { int scaledWidth = this.client.getWindow().getScaledWidth(); int scaledHeight = this.client.getWindow().getScaledHeight(); this.addDrawableChild(new TexturedButtonWidget(scaledWidth / 2 - 20, 0, 20, 20, 0, 106, 20, new Identifier("textures/gui/widgets.png"), 256, 256, - btn -> this.client.setScreen(new ChatScreen("")), Text.empty())); + btn -> this.client.setScreen(new ChatScreen("")), Text.of(""))); this.addDrawableChild(new TexturedButtonWidget(scaledWidth / 2, 0, 20, 20, 0, 0, 20, WIDGETS_LOCATION, 256, 256, btn -> this.pauseGame(false))); // Inventory buttons. int inventoryButtonX = scaledWidth / 2; int inventoryButtonY = scaledHeight - 16 - 5; - if (this.client.options.getMainArm().getValue() == Arm.LEFT) { + if (this.client.options.mainArm == Arm.LEFT) { inventoryButtonX = inventoryButtonX - 91 - 24; } else { inventoryButtonX = inventoryButtonX + 91 + 4; @@ -187,7 +188,7 @@ public class TouchscreenOverlay extends Screen { sneakButtonX = scaledWidth - 10 - 40 - 5; } // Swap items hand. - this.addDrawableChild(new SilentTexturedButtonWidget(Position.of(swapHandsX, sneakButtonY), 20, 20, Text.empty(), + this.addDrawableChild(new SilentTexturedButtonWidget(Position.of(swapHandsX, sneakButtonY), 20, 20, Text.of(""), button -> { if (button.isActive()) { if (!this.client.player.isSpectator()) { @@ -196,23 +197,23 @@ public class TouchscreenOverlay extends Screen { } },0, 160, 20, WIDGETS_LOCATION)); // Drop - this.addDrawableChild(new SilentTexturedButtonWidget(Position.of(swapHandsX, sneakButtonY + 5 + 20), 20, 20, Text.empty(), btn -> + this.addDrawableChild(new SilentTexturedButtonWidget(Position.of(swapHandsX, sneakButtonY + 5 + 20), 20, 20, Text.of(""), btn -> ((KeyBindingAccessor) this.client.options.dropKey).midnightcontrols$handlePressState(btn.isActive()), 0, 160, 20, WIDGETS_LOCATION)); // Jump keys - this.addDrawableChild(this.jumpButton = new SilentTexturedButtonWidget(Position.of(jumpButtonX, sneakButtonY), 20, 20, Text.empty(), this::handleJump, 0, 40, 20, WIDGETS_LOCATION)); - this.addDrawableChild(this.flyButton = new SilentTexturedButtonWidget(Position.of(jumpButtonX, sneakButtonY), 20, 20, Text.empty(),btn -> { + this.addDrawableChild(this.jumpButton = new SilentTexturedButtonWidget(Position.of(jumpButtonX, sneakButtonY), 20, 20, Text.of(""), this::handleJump, 0, 40, 20, WIDGETS_LOCATION)); + this.addDrawableChild(this.flyButton = new SilentTexturedButtonWidget(Position.of(jumpButtonX, sneakButtonY), 20, 20, Text.of(""),btn -> { if (this.flyButtonEnableTicks == 0) this.client.player.getAbilities().flying = false; }, 20, 40, 20, WIDGETS_LOCATION) ); - this.addDrawableChild(this.flyUpButton = new SilentTexturedButtonWidget(Position.of(jumpButtonX, sneakButtonY - 5 - 20), 20, 20,Text.empty(), + this.addDrawableChild(this.flyUpButton = new SilentTexturedButtonWidget(Position.of(jumpButtonX, sneakButtonY - 5 - 20), 20, 20,Text.of(""), this::handleJump, 40, 40, 20, WIDGETS_LOCATION )); - this.addDrawableChild(this.flyDownButton = new SilentTexturedButtonWidget(Position.of(jumpButtonX, sneakButtonY + 20 + 5), 20, 20, Text.empty(), + this.addDrawableChild(this.flyDownButton = new SilentTexturedButtonWidget(Position.of(jumpButtonX, sneakButtonY + 20 + 5), 20, 20, Text.of(""), btn -> ((KeyBindingAccessor) this.client.options.sneakKey).midnightcontrols$handlePressState(btn.isActive()), 60, 40, 20, WIDGETS_LOCATION )); this.updateJumpButtons(); // Movements keys - this.addDrawableChild((this.startSneakButton = new SilentTexturedButtonWidget(Position.of(sneakButtonX, sneakButtonY), 20, 20, Text.empty(), btn -> { + this.addDrawableChild((this.startSneakButton = new SilentTexturedButtonWidget(Position.of(sneakButtonX, sneakButtonY), 20, 20, Text.of(""), btn -> { if (btn.isActive()) { ((KeyBindingAccessor) this.client.options.sneakKey).midnightcontrols$handlePressState(true); this.startSneakButton.setVisible(false); @@ -220,7 +221,7 @@ public class TouchscreenOverlay extends Screen { } }, 0, 120, 20, WIDGETS_LOCATION)) ); - this.addDrawableChild((this.endSneakButton = new SilentTexturedButtonWidget(Position.of(sneakButtonX, sneakButtonY), 20, 20, Text.empty(), btn -> { + this.addDrawableChild((this.endSneakButton = new SilentTexturedButtonWidget(Position.of(sneakButtonX, sneakButtonY), 20, 20, Text.of(""), btn -> { if (btn.isActive()) { ((KeyBindingAccessor) this.client.options.sneakKey).midnightcontrols$handlePressState(false); this.endSneakButton.setVisible(false); @@ -228,34 +229,34 @@ public class TouchscreenOverlay extends Screen { } }, 20, 120, 20, WIDGETS_LOCATION))); this.endSneakButton.setVisible(false); - this.addDrawableChild(this.forwardLeftButton = new SilentTexturedButtonWidget(Position.of(sneakButtonX - 20 - 5, sneakButtonY - 5 - 20), 20, 20, Text.empty(), btn -> { + this.addDrawableChild(this.forwardLeftButton = new SilentTexturedButtonWidget(Position.of(sneakButtonX - 20 - 5, sneakButtonY - 5 - 20), 20, 20, Text.of(""), btn -> { ((KeyBindingAccessor) this.client.options.forwardKey).midnightcontrols$handlePressState(btn.isActive()); ((KeyBindingAccessor) this.client.options.leftKey).midnightcontrols$handlePressState(btn.isActive()); this.updateForwardButtonsState(btn.isActive()); }, 80, 80, 20, WIDGETS_LOCATION )); this.forwardLeftButton.setVisible(false); - this.addDrawableChild(new SilentTexturedButtonWidget(Position.of(sneakButtonX, sneakButtonY - 5 - 20), 20, 20, Text.empty(), btn -> { + this.addDrawableChild(new SilentTexturedButtonWidget(Position.of(sneakButtonX, sneakButtonY - 5 - 20), 20, 20, Text.of(""), btn -> { ((KeyBindingAccessor) this.client.options.forwardKey).midnightcontrols$handlePressState(btn.isActive()); this.updateForwardButtonsState(btn.isActive()); this.forwardLeftButton.setVisible(true); this.forwardRightButton.setVisible(true); }, 0, 80, 20, WIDGETS_LOCATION )); - this.addDrawableChild(this.forwardRightButton = new SilentTexturedButtonWidget(Position.of(sneakButtonX + 20 + 5, sneakButtonY - 5 - 20), 20, 20, Text.empty(), btn -> { + this.addDrawableChild(this.forwardRightButton = new SilentTexturedButtonWidget(Position.of(sneakButtonX + 20 + 5, sneakButtonY - 5 - 20), 20, 20, Text.of(""), btn -> { ((KeyBindingAccessor) this.client.options.forwardKey).midnightcontrols$handlePressState(btn.isActive()); ((KeyBindingAccessor) this.client.options.rightKey).midnightcontrols$handlePressState(btn.isActive()); this.updateForwardButtonsState(btn.isActive()); }, 100, 80, 20, WIDGETS_LOCATION )); this.forwardRightButton.setVisible(true); - this.addDrawableChild(new SilentTexturedButtonWidget(Position.of(sneakButtonX + 20 + 5, sneakButtonY), 20, 20, Text.empty(), + this.addDrawableChild(new SilentTexturedButtonWidget(Position.of(sneakButtonX + 20 + 5, sneakButtonY), 20, 20, Text.of(""), btn -> ((KeyBindingAccessor) this.client.options.rightKey).midnightcontrols$handlePressState(btn.isActive()), 20, 80, 20, WIDGETS_LOCATION )); - this.addDrawableChild(new SilentTexturedButtonWidget(Position.of(sneakButtonX, sneakButtonY + 20 + 5), 20, 20, Text.empty(), + this.addDrawableChild(new SilentTexturedButtonWidget(Position.of(sneakButtonX, sneakButtonY + 20 + 5), 20, 20, Text.of(""), btn -> ((KeyBindingAccessor) this.client.options.backKey).midnightcontrols$handlePressState(btn.isActive()), 40, 80, 20, WIDGETS_LOCATION )); - this.addDrawableChild(new SilentTexturedButtonWidget(Position.of(sneakButtonX - 20 - 5, sneakButtonY), 20, 20, Text.empty(), + this.addDrawableChild(new SilentTexturedButtonWidget(Position.of(sneakButtonX - 20 - 5, sneakButtonY), 20, 20, Text.of(""), btn -> ((KeyBindingAccessor) this.client.options.leftKey).midnightcontrols$handlePressState(btn.isActive()), 60, 80, 20, WIDGETS_LOCATION )); } diff --git a/src/main/java/eu/midnightdust/midnightcontrols/client/gui/widget/ControllerButtonWidget.java b/src/main/java/eu/midnightdust/midnightcontrols/client/gui/widget/ControllerButtonWidget.java index d29c89a..9b14f93 100644 --- a/src/main/java/eu/midnightdust/midnightcontrols/client/gui/widget/ControllerButtonWidget.java +++ b/src/main/java/eu/midnightdust/midnightcontrols/client/gui/widget/ControllerButtonWidget.java @@ -16,6 +16,7 @@ import dev.lambdaurora.spruceui.SpruceTexts; import dev.lambdaurora.spruceui.widget.AbstractSpruceIconButtonWidget; import net.minecraft.client.MinecraftClient; import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.text.LiteralText; import net.minecraft.text.Text; import org.jetbrains.annotations.NotNull; @@ -34,13 +35,13 @@ public class ControllerButtonWidget extends AbstractSpruceIconButtonWidget { public void update() { int length = binding.getButton().length; this.setMessage(this.binding.isNotBound() ? SpruceTexts.NOT_BOUND.copy() : - (length > 0 ? ButtonBinding.getLocalizedButtonName(binding.getButton()[0]) : Text.literal("<>"))); + (length > 0 ? ButtonBinding.getLocalizedButtonName(binding.getButton()[0]) : new LiteralText("<>"))); } @Override public Text getMessage() { if (this.binding.getButton().length > 1) - return Text.empty(); + return Text.of(""); return super.getMessage(); } diff --git a/src/main/java/eu/midnightdust/midnightcontrols/client/gui/widget/ControllerControlsWidget.java b/src/main/java/eu/midnightdust/midnightcontrols/client/gui/widget/ControllerControlsWidget.java index aae9340..dd14ccd 100644 --- a/src/main/java/eu/midnightdust/midnightcontrols/client/gui/widget/ControllerControlsWidget.java +++ b/src/main/java/eu/midnightdust/midnightcontrols/client/gui/widget/ControllerControlsWidget.java @@ -21,6 +21,7 @@ import eu.midnightdust.midnightcontrols.client.gui.MidnightControlsSettingsScree import net.minecraft.client.gui.screen.option.ControlsOptionsScreen; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.text.Text; +import net.minecraft.text.TranslatableText; import org.aperlambda.lambdacommon.utils.function.Predicates; import java.util.ArrayList; @@ -47,7 +48,7 @@ public class ControllerControlsWidget extends SpruceContainerWidget { protected void init() { this.addChild(new SpruceButtonWidget(Position.of(this, this.width / 2 - 155, 18), 310, 20, - Text.translatable("midnightcontrols.menu.keyboard_controls"), + new TranslatableText("midnightcontrols.menu.keyboard_controls"), btn -> this.client.setScreen(new ControlsOptionsScreen(null, this.client.options)))); this.bindingsListWidget = new ControlsListWidget(Position.of(this, 0, 43), this.width, this.height - 43 - 35, this); this.bindingsListWidget.setBackground(new MidnightControlsSettingsScreen.MidnightControlsBackground(130)); @@ -59,7 +60,7 @@ public class ControllerControlsWidget extends SpruceContainerWidget { @Override public void renderWidget(MatrixStack matrices, int mouseX, int mouseY, float delta) { - drawCenteredText(matrices, this.client.textRenderer, Text.translatable("midnightcontrols.menu.title.controller_controls"), + drawCenteredText(matrices, this.client.textRenderer, new TranslatableText("midnightcontrols.menu.title.controller_controls"), this.getX() + this.width / 2, this.getY() + 4, 16777215); this.resetButton.setActive(InputManager.streamBindings().anyMatch(Predicates.not(ButtonBinding::isDefault))); super.renderWidget(matrices, mouseX, mouseY, delta); diff --git a/src/main/java/eu/midnightdust/midnightcontrols/client/gui/widget/ControlsListWidget.java b/src/main/java/eu/midnightdust/midnightcontrols/client/gui/widget/ControlsListWidget.java index 1282bbb..8e91d33 100644 --- a/src/main/java/eu/midnightdust/midnightcontrols/client/gui/widget/ControlsListWidget.java +++ b/src/main/java/eu/midnightdust/midnightcontrols/client/gui/widget/ControlsListWidget.java @@ -27,7 +27,9 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.resource.language.I18n; import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.text.LiteralText; import net.minecraft.text.Text; +import net.minecraft.text.TranslatableText; import net.minecraft.util.Formatting; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -91,17 +93,17 @@ public class ControlsListWidget extends SpruceEntryListWidget MidnightControlsConfig.setButtonBinding(binding, binding.getDefaultButton())) { protected Text getNarrationMessage() { - return Text.translatable("narrator.controls.reset", bindingName); + return new TranslatableText("narrator.controls.reset", bindingName); } }; this.children.add(this.resetButton); @@ -114,7 +116,7 @@ public class ControlsListWidget extends SpruceEntryListWidget ").formatted(Formatting.WHITE); + var text = new LiteralText("> ").formatted(Formatting.WHITE); text.append(this.editButton.getMessage().copy().formatted(Formatting.YELLOW)); - this.editButton.setMessage(text.append(Text.literal(" <").formatted(Formatting.WHITE))); + this.editButton.setMessage(text.append(new LiteralText(" <").formatted(Formatting.WHITE))); } else if (!this.binding.isNotBound() && InputManager.hasDuplicatedBindings(this.binding)) { var text = this.editButton.getMessage().copy(); this.editButton.setMessage(text.formatted(Formatting.RED)); @@ -262,7 +264,7 @@ public class ControlsListWidget extends SpruceEntryListWidget { this.client.setScreen(new MidnightControlsSettingsScreen(this, false)); - }, Text.translatable("midnightcontrols.menu.title.controller"))); + }, new TranslatableText("midnightcontrols.menu.title.controller"))); } } @Inject(method = "init", at = @At(value = "INVOKE", ordinal = 4, shift = At.Shift.AFTER, target = "Lnet/minecraft/client/gui/screen/option/ControlsOptionsScreen;addDrawableChild(Lnet/minecraft/client/gui/Element;)Lnet/minecraft/client/gui/Element;")) @@ -48,7 +49,7 @@ public abstract class ControlsOptionsScreenMixin extends GameOptionsScreen { int i = this.width / 2 - 155; int j = i + 160; int k = this.height / 6 - 12 + 48; - this.addDrawableChild(new ButtonWidget(j, k, 150, 20, Text.translatable("midnightcontrols.menu.title.controller").append("..."), (button) -> { + this.addDrawableChild(new ButtonWidget(j, k, 150, 20, new TranslatableText("midnightcontrols.menu.title.controller").append("..."), (button) -> { this.client.setScreen(new MidnightControlsSettingsScreen(this, false)); })); } diff --git a/src/main/java/eu/midnightdust/midnightcontrols/client/mixin/GameOptionsMixin.java b/src/main/java/eu/midnightdust/midnightcontrols/client/mixin/GameOptionsMixin.java index 84291fc..20920bb 100644 --- a/src/main/java/eu/midnightdust/midnightcontrols/client/mixin/GameOptionsMixin.java +++ b/src/main/java/eu/midnightdust/midnightcontrols/client/mixin/GameOptionsMixin.java @@ -10,8 +10,7 @@ package eu.midnightdust.midnightcontrols.client.mixin; import net.minecraft.client.option.GameOptions; -import net.minecraft.client.option.SimpleOption; -import org.spongepowered.asm.mixin.Final; +import net.minecraft.client.option.Option; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; @@ -26,11 +25,11 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @Mixin(GameOptions.class) public abstract class GameOptionsMixin { - @Shadow public abstract SimpleOption getAutoJump(); + @Shadow public boolean autoJump; @Inject(method = "load", at = @At("HEAD")) public void onInit(CallbackInfo ci) { // Set default value of the Auto-Jump option to false. - getAutoJump().setValue(false); + autoJump = false; } } diff --git a/src/main/java/eu/midnightdust/midnightcontrols/client/mixin/HandledScreenMixin.java b/src/main/java/eu/midnightdust/midnightcontrols/client/mixin/HandledScreenMixin.java index 619233a..39c1d2a 100644 --- a/src/main/java/eu/midnightdust/midnightcontrols/client/mixin/HandledScreenMixin.java +++ b/src/main/java/eu/midnightdust/midnightcontrols/client/mixin/HandledScreenMixin.java @@ -22,6 +22,7 @@ import net.minecraft.client.util.math.MatrixStack; import net.minecraft.screen.slot.Slot; import net.minecraft.screen.slot.SlotActionType; import net.minecraft.text.Text; +import net.minecraft.text.TranslatableText; import org.jetbrains.annotations.Nullable; import org.lwjgl.glfw.GLFW; import org.spongepowered.asm.mixin.Mixin; @@ -59,7 +60,7 @@ public abstract class HandledScreenMixin implements HandledScreenAccessor { public void onRender(MatrixStack matrices, int mouseX, int mouseY, float delta, CallbackInfo ci) { if (MidnightControlsConfig.controlsMode == ControlsMode.CONTROLLER) { var client = MinecraftClient.getInstance(); - if (client.options.getGuiScale().getValue() >= 4) { + if (client.options.guiScale >= 4) { scale = 0.75f; } else scale = 1f; if (scale != 1f) matrices.scale(scale,scale,scale); @@ -74,8 +75,8 @@ public abstract class HandledScreenMixin implements HandledScreenAccessor { y -= 24; } if (MidnightControlsCompat.isEMIPresent()) { - x = (int) (client.getWindow().getScaledWidth() * (1 / scale) - 55 - client.textRenderer.getWidth(Text.translatable("midnightcontrols.action.pickup")) - * (1 / scale) - client.textRenderer.getWidth(Text.translatable("midnightcontrols.action.quick_move")) + x = (int) (client.getWindow().getScaledWidth() * (1 / scale) - 55 - client.textRenderer.getWidth(new TranslatableText("midnightcontrols.action.pickup")) + * (1 / scale) - client.textRenderer.getWidth(new TranslatableText("midnightcontrols.action.quick_move")) - MidnightControlsRenderer.getBindingIconWidth(ButtonBinding.TAKE) - MidnightControlsRenderer.getBindingIconWidth(ButtonBinding.QUICK_MOVE)); } x = MidnightControlsRenderer.drawButtonTip(matrices, x, y, new int[]{GLFW.GLFW_GAMEPAD_BUTTON_X}, "midnightcontrols.action.pickup", true, client); diff --git a/src/main/java/eu/midnightdust/midnightcontrols/client/mixin/MinecraftClientMixin.java b/src/main/java/eu/midnightdust/midnightcontrols/client/mixin/MinecraftClientMixin.java index 068d199..089bf09 100644 --- a/src/main/java/eu/midnightdust/midnightcontrols/client/mixin/MinecraftClientMixin.java +++ b/src/main/java/eu/midnightdust/midnightcontrols/client/mixin/MinecraftClientMixin.java @@ -61,6 +61,7 @@ public abstract class MinecraftClientMixin { @Shadow private int itemUseCooldown; + @Shadow @Nullable public ClientWorld world; private BlockPos midnightcontrols$lastTargetPos; private Vec3d midnightcontrols$lastPos; private Direction midnightcontrols$lastTargetSide; @@ -150,7 +151,7 @@ public abstract class MinecraftClientMixin { hitResult = mod.reacharound.withSideForReacharound(hitResult, stackInHand); int previousStackCount = stackInHand.getCount(); - var result = this.interactionManager.interactBlock(this.player, hand, hitResult); + var result = this.interactionManager.interactBlock(this.player, world, hand, hitResult); if (result.isAccepted()) { if (result.shouldSwingHand()) { this.player.swingHand(hand); diff --git a/src/main/java/eu/midnightdust/midnightcontrols/client/ring/KeyBindingRingAction.java b/src/main/java/eu/midnightdust/midnightcontrols/client/ring/KeyBindingRingAction.java index cf34e18..b5154ae 100644 --- a/src/main/java/eu/midnightdust/midnightcontrols/client/ring/KeyBindingRingAction.java +++ b/src/main/java/eu/midnightdust/midnightcontrols/client/ring/KeyBindingRingAction.java @@ -16,6 +16,7 @@ import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.option.KeyBinding; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.text.Text; +import net.minecraft.text.TranslatableText; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -49,7 +50,7 @@ public class KeyBindingRingAction extends RingAction { @Override public void drawIcon(@NotNull MatrixStack matrices, @NotNull TextRenderer textRenderer, int x, int y, boolean hovered) { - drawCenteredText(matrices, textRenderer, Text.translatable(this.getName()), x + 25, y + 25 - textRenderer.fontHeight / 2, 0xffffff); + drawCenteredText(matrices, textRenderer, new TranslatableText(this.getName()), x + 25, y + 25 - textRenderer.fontHeight / 2, 0xffffff); } protected static class Factory implements RingAction.Factory { diff --git a/src/main/java/eu/midnightdust/midnightcontrols/client/ring/RingAction.java b/src/main/java/eu/midnightdust/midnightcontrols/client/ring/RingAction.java index 1062b26..fb2be50 100644 --- a/src/main/java/eu/midnightdust/midnightcontrols/client/ring/RingAction.java +++ b/src/main/java/eu/midnightdust/midnightcontrols/client/ring/RingAction.java @@ -15,6 +15,7 @@ import net.minecraft.client.gui.DrawableHelper; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.text.Text; +import net.minecraft.text.TranslatableText; import org.aperlambda.lambdacommon.utils.Nameable; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -42,7 +43,7 @@ public abstract class RingAction extends DrawableHelper implements Nameable { * @return the text name */ public Text getTextName() { - return Text.translatable(this.getName()); + return new TranslatableText(this.getName()); } /** diff --git a/src/main/java/eu/midnightdust/midnightcontrols/client/ring/RingButtonMode.java b/src/main/java/eu/midnightdust/midnightcontrols/client/ring/RingButtonMode.java index 0a94c41..9ba3e17 100644 --- a/src/main/java/eu/midnightdust/midnightcontrols/client/ring/RingButtonMode.java +++ b/src/main/java/eu/midnightdust/midnightcontrols/client/ring/RingButtonMode.java @@ -10,6 +10,7 @@ package eu.midnightdust.midnightcontrols.client.ring; import net.minecraft.text.Text; +import net.minecraft.text.TranslatableText; import org.aperlambda.lambdacommon.utils.Nameable; import org.jetbrains.annotations.NotNull; @@ -30,7 +31,7 @@ public enum RingButtonMode implements Nameable { RingButtonMode(@NotNull String name) { this.name = name; - this.text = Text.translatable(this.getTranslationKey()); + this.text = new TranslatableText(this.getTranslationKey()); } /**