diff --git a/runelite-api/src/main/java/net/runelite/api/Actor.java b/runelite-api/src/main/java/net/runelite/api/Actor.java index 6894218947..c5fc4cf988 100644 --- a/runelite-api/src/main/java/net/runelite/api/Actor.java +++ b/runelite-api/src/main/java/net/runelite/api/Actor.java @@ -85,8 +85,8 @@ public interface Actor extends Renderable /** * Gets the server-side location of the actor. *

- * This value is typically ahead of where the client renders and may - * be affected by things such as animations. + * This value is typically ahead of where the client renders and is not + * affected by things such as animations. * * @return the server location */ diff --git a/runelite-client/src/main/java/net/runelite/client/config/ConfigInvocationHandler.java b/runelite-client/src/main/java/net/runelite/client/config/ConfigInvocationHandler.java index 70bf800b34..2895fc31fb 100644 --- a/runelite-client/src/main/java/net/runelite/client/config/ConfigInvocationHandler.java +++ b/runelite-client/src/main/java/net/runelite/client/config/ConfigInvocationHandler.java @@ -78,16 +78,20 @@ class ConfigInvocationHandler implements InvocationHandler // Convert value to return type Class returnType = method.getReturnType(); - Object objectValue = ConfigManager.stringToObject(value, returnType); - - // objectValue automatically gets unboxed -// if (!objectValue.getClass().equals(returnType)) -// { -// log.warn("Unable to convert return type for configuration item {}.{}: {}", group.keyName(), item.keyName(), returnType); -// return null; -// } - - return objectValue; + + try + { + return ConfigManager.stringToObject(value, returnType); + } + catch (Exception e) + { + log.warn("Unable to unmarshal {}.{} ", group.keyName(), item.keyName(), e); + if (method.isDefault()) + { + return callDefaultMethod(proxy, method, args); + } + return null; + } } else { 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 ce731320a4..5501345dc3 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 @@ -254,7 +254,14 @@ public class ConfigManager String value = getConfiguration(groupName, key); if (!Strings.isNullOrEmpty(value)) { - return (T) stringToObject(value, clazz); + try + { + return (T) stringToObject(value, clazz); + } + catch (Exception e) + { + log.warn("Unable to unmarshal {}.{} ", groupName, key, e); + } } return null; }