From acec4429525eb30452298c2034d1e5d5d4b41046 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EF=BC=A1=EF=BC=A3=EF=BC=A7=EF=BD=81=EF=BD=8D=EF=BD=89?= =?UTF-8?q?=EF=BD=8E=EF=BD=87?= <4818419+ACGaming@users.noreply.github.com> Date: Wed, 10 Apr 2024 02:43:03 +0200 Subject: [PATCH] fix: add exception handling for vanilla key bindings fixes #183 --- .../mods/galacticraft/core/client/KeyHandler.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/micdoodle8/mods/galacticraft/core/client/KeyHandler.java b/src/main/java/micdoodle8/mods/galacticraft/core/client/KeyHandler.java index d3bf378f02..17e2c359ca 100644 --- a/src/main/java/micdoodle8/mods/galacticraft/core/client/KeyHandler.java +++ b/src/main/java/micdoodle8/mods/galacticraft/core/client/KeyHandler.java @@ -117,7 +117,16 @@ public void keyTick(Type type, boolean tickEnd) int keyCode = keyBinding.getKeyCode(); if (keyCode == Keyboard.KEY_NONE) continue; - boolean state = keyCode < 0 ? Mouse.isButtonDown(keyCode + 100) : Keyboard.isKeyDown(keyCode); + boolean state; + try + { + state = keyCode < 0 ? Mouse.isButtonDown(keyCode + 100) : Keyboard.isKeyDown(keyCode); + } catch (IndexOutOfBoundsException e) + { + GalacticraftCore.logger.error("Invalid keybinding! " + keyBinding.getKeyDescription()); + continue; + } + if (state != this.keyDown[i + this.keyBindings.length] || state && this.vRepeatings[i]) { if (state)