You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
StackOverflowError when a managed key has a native modifier #24
KeyMappingMixin.kuma$getModifiers() calls NativeKeyModifierReconciler.reconcile(this) first. When the native modifier is not empty, reconcile calls kumaKeyMapping.kuma$getModifiers() on the same mapping to check if Kuma already has modifiers. That calls reconcile again, so it never reaches setNativeKeyModifiers(keyMapping, KeyModifiers.none()), which would end the loop.
java.lang.StackOverflowError: Unexpected error
at net.blay09.mods.kuma.api.KeyModifiers.of(KeyModifiers.java:135)
at net.blay09.mods.kuma.neoforge.NeoForgeKeyModifiers.fromNeoForge(NeoForgeKeyModifiers.java:23)
at net.blay09.mods.kuma.neoforge.NeoForgeKumaRuntime.getNativeKeyModifiers(NeoForgeKumaRuntime.java:36)
at net.blay09.mods.kuma.NativeKeyModifierReconciler.reconcile(NativeKeyModifierReconciler.java:18)
at net.minecraft.client.KeyMapping.kuma$getModifiers(KeyMapping.java:2073)
at net.blay09.mods.kuma.NativeKeyModifierReconciler.reconcile(NativeKeyModifierReconciler.java:24)
at net.minecraft.client.KeyMapping.kuma$getModifiers(KeyMapping.java:2073)
[...]
The same code is still on the 26.3 branch.
How to reproduce:
Install Balm and Trash Slot
Set key_key.trashslot.delete_all:key.keyboard.delete:CONTROL in options.txt
Launch the game
Our pack shipped that line in its default options.txt, so every new install crashed. On our end we moved the modifier into config/kuma.json instead.
Activity
fix: Don't reconcile on every getModifiers call as it has too many si…
fix: Fix crash when a Kuma managed key has a native mod loader key mo…
fix: Fix crash when a Kuma managed key has a native mod loader key mo…