From 48aaad944f8b2df4f8a1633451d5b74656c80fe8 Mon Sep 17 00:00:00 2001 From: Shiewk Date: Mon, 26 Jan 2026 17:04:59 +0100 Subject: [PATCH] 2.3.1: Fix keystroke display if using arrow keys --- gradle.properties | 2 +- .../de/shiewk/widgets/widgets/KeyStrokesWidget.java | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index d108661..0de3879 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ minecraft_version=1.21.11 yarn_mappings=1.21.11+build.4 loader_version=0.17.3 # Mod Properties -mod_version=2.3.0 +mod_version=2.3.1 maven_group=de.shiewk archives_base_name=Widgets # Dependencies diff --git a/src/main/java/de/shiewk/widgets/widgets/KeyStrokesWidget.java b/src/main/java/de/shiewk/widgets/widgets/KeyStrokesWidget.java index 411feb5..83a436e 100644 --- a/src/main/java/de/shiewk/widgets/widgets/KeyStrokesWidget.java +++ b/src/main/java/de/shiewk/widgets/widgets/KeyStrokesWidget.java @@ -96,7 +96,7 @@ public class KeyStrokesWidget extends ResizableWidget { TextRenderer renderer = MinecraftClient.getInstance().textRenderer; for (Key key : new Key[]{KEY_FWD, KEY_BWD, KEY_LEFT, KEY_RIGHT, KEY_JUMP}){ if (key instanceof KeyLarge keyLarge){ - keyLarge.boundToKey = key.binding.getBoundKeyLocalizedText().getString(); + keyLarge.boundToKey = getKeyName(key); keyLarge.boundToLength = renderer.getWidth(keyLarge.boundToKey); } final boolean pressed = key.binding.isPressed(); @@ -107,6 +107,16 @@ public class KeyStrokesWidget extends ResizableWidget { } } + private static String getKeyName(Key key) { + return switch (key.binding.getBoundKeyTranslationKey()) { + case "key.keyboard.up" -> "\u2191"; + case "key.keyboard.down" -> "\u2193"; + case "key.keyboard.left" -> "\u2190"; + case "key.keyboard.right" -> "\u2192"; + default -> key.binding.getBoundKeyLocalizedText().getString(); + }; + } + @Override public Text getName() { return Text.translatable("widgets.widgets.keystrokes");