From 666119c5657d53e1197950368a12101ee0b5a0ec Mon Sep 17 00:00:00 2001 From: Justin Date: Sun, 5 Dec 2021 11:08:34 +1100 Subject: [PATCH] configmanager: temp fix to stop plugin-hub plugins from crashing --- .../runelite/client/config/ConfigManager.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java b/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java index 8bf7d0d7a7..6fbdb1011d 100644 --- a/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java +++ b/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java @@ -45,6 +45,7 @@ import java.lang.reflect.Field; import java.lang.reflect.Method; import java.lang.reflect.Modifier; import java.lang.reflect.Proxy; +import java.lang.reflect.Type; import java.nio.channels.FileChannel; import java.nio.charset.StandardCharsets; import java.nio.file.AtomicMoveNotSupportedException; @@ -417,6 +418,11 @@ public class ConfigManager return getConfiguration(groupName, null, key, clazz); } + public Object getConfiguration(String groupName, String key, Type clazz) + { + return getConfiguration(groupName, null, key, clazz); + } + public T getRSProfileConfiguration(String groupName, String key, Class clazz) { String rsProfileKey = this.rsProfileKey; @@ -428,6 +434,23 @@ public class ConfigManager return getConfiguration(groupName, rsProfileKey, key, clazz); } + public T getConfiguration(String groupName, String profile, String key, Type clazz) + { + String value = getConfiguration(groupName, profile, key); + if (!Strings.isNullOrEmpty(value)) + { + try + { + return (T) stringToObject(value, (Class) clazz); + } + catch (Exception e) + { + log.warn("Unable to unmarshal {} ", getWholeKey(groupName, profile, key), e); + } + } + return null; + } + public T getConfiguration(String groupName, String profile, String key, Class clazz) { String value = getConfiguration(groupName, profile, key);