From c560af69a5474acfbee768064a238d46f01d15f2 Mon Sep 17 00:00:00 2001 From: mezz Date: Sat, 9 Apr 2016 17:02:03 -0700 Subject: [PATCH] Fix log spam from invalid key modifiers (#2746) --- .../client/settings/GameSettings.java.patch | 2 +- .../client/settings/KeyModifier.java | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/patches/minecraft/net/minecraft/client/settings/GameSettings.java.patch b/patches/minecraft/net/minecraft/client/settings/GameSettings.java.patch index a5386e6b13..affbeca4f3 100644 --- a/patches/minecraft/net/minecraft/client/settings/GameSettings.java.patch +++ b/patches/minecraft/net/minecraft/client/settings/GameSettings.java.patch @@ -20,7 +20,7 @@ if (astring[0].equals("key_" + keybinding.func_151464_g())) { keybinding.func_151462_b(Integer.parseInt(astring[1])); -+ if (astring.length == 3) keybinding.setKeyModifierAndCode(net.minecraftforge.client.settings.KeyModifier.valueOf(astring[2]), Integer.parseInt(astring[1])); ++ if (astring.length == 3) keybinding.setKeyModifierAndCode(net.minecraftforge.client.settings.KeyModifier.valueFromString(astring[2]), Integer.parseInt(astring[1])); } } diff --git a/src/main/java/net/minecraftforge/client/settings/KeyModifier.java b/src/main/java/net/minecraftforge/client/settings/KeyModifier.java index 9838251dac..b5ff9a875a 100644 --- a/src/main/java/net/minecraftforge/client/settings/KeyModifier.java +++ b/src/main/java/net/minecraftforge/client/settings/KeyModifier.java @@ -120,6 +120,22 @@ public enum KeyModifier { return false; } + public static KeyModifier valueFromString(String stringValue) + { + try + { + return valueOf(stringValue); + } + catch (NullPointerException ignored) + { + return NONE; + } + catch (IllegalArgumentException ignored) + { + return NONE; + } + } + public abstract boolean matches(int keyCode); public abstract boolean isActive();