From d32aefccacbe82020388e528b17ffdafd543000c Mon Sep 17 00:00:00 2001 From: Motschen Date: Tue, 3 Oct 2023 21:37:28 +0200 Subject: [PATCH] Wait for Wynntils keybinding registration - When Wynntils is present, the keybindings are now loaded only after the keybinding category was created, allowing them to be handled by MidnightControls --- .../midnightcontrols/client/MidnightControlsClient.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/eu/midnightdust/midnightcontrols/client/MidnightControlsClient.java b/src/main/java/eu/midnightdust/midnightcontrols/client/MidnightControlsClient.java index 0566ab5..448d879 100644 --- a/src/main/java/eu/midnightdust/midnightcontrols/client/MidnightControlsClient.java +++ b/src/main/java/eu/midnightdust/midnightcontrols/client/MidnightControlsClient.java @@ -47,6 +47,7 @@ import org.jetbrains.annotations.NotNull; import org.lwjgl.glfw.GLFW; import java.io.File; +import java.util.Objects; import java.util.Timer; import java.util.TimerTask; @@ -179,6 +180,7 @@ public class MidnightControlsClient extends MidnightControls implements ClientMo if (lateInitDone) return; if (KeyBindingIDAccessor.getKEYS_BY_ID() == null || KeyBindingIDAccessor.getKEYS_BY_ID().isEmpty()) return; if (PlatformFunctions.isModLoaded("voxelmap") && !KeyBindingIDAccessor.getKEYS_BY_ID().containsKey("key.minimap.toggleingamewaypoints")) return; + if (PlatformFunctions.isModLoaded("wynntils") && KeyBindingIDAccessor.getKEYS_BY_ID().entrySet().stream().noneMatch(b -> Objects.equals(b.getValue().getCategory(), "Wynntils"))) return; for (int i = 0; i < KeyBindingIDAccessor.getKEYS_BY_ID().size(); ++i) { KeyBinding keyBinding = KeyBindingIDAccessor.getKEYS_BY_ID().entrySet().stream().toList().get(i).getValue(); if (MidnightControlsConfig.excludedKeybindings.stream().noneMatch(excluded -> keyBinding.getTranslationKey().startsWith(excluded))) {