diff --git a/src/main/java/com/replaymod/core/KeyBindingRegistry.java b/src/main/java/com/replaymod/core/KeyBindingRegistry.java index f89e4eec..7ddbc78f 100644 --- a/src/main/java/com/replaymod/core/KeyBindingRegistry.java +++ b/src/main/java/com/replaymod/core/KeyBindingRegistry.java @@ -185,6 +185,14 @@ public class KeyBindingRegistry extends EventRegistrations { return MCVer.getBoundKey(keyBinding); } + public boolean isBound() { + //#if MC>=11400 + return !keyBinding.isUnbound(); + //#else + //$$ return keyBinding.getKeyCode() != 0; + //#endif + } + public void trigger() { KeyBindingAccessor acc = (KeyBindingAccessor) keyBinding; acc.setPressTime(acc.getPressTime() + 1); diff --git a/src/main/java/com/replaymod/extras/HotkeyButtons.java b/src/main/java/com/replaymod/extras/HotkeyButtons.java index 49324f50..6ca9aeec 100644 --- a/src/main/java/com/replaymod/extras/HotkeyButtons.java +++ b/src/main/java/com/replaymod/extras/HotkeyButtons.java @@ -73,7 +73,7 @@ public class HotkeyButtons extends EventRegistrations implements Extra { @Override public void draw(GuiRenderer renderer, ReadableDimension size, RenderInfo renderInfo) { // There doesn't seem to be an KeyBindingUpdate event, so we'll just update it every time - setLabel(keyBinding.getBoundKey()); + setLabel(keyBinding.isBound() ? keyBinding.getBoundKey() : ""); super.draw(renderer, size, renderInfo); } }.onClick(keyBinding::trigger);