From 4ae4a834cd13874969ef64958f787d019457f27d Mon Sep 17 00:00:00 2001 From: Gabriel Tofvesson Date: Sun, 2 May 2021 21:59:38 +0200 Subject: [PATCH] Add more parser compatibility to basic, reflective serializer --- .../SimpleReflectiveConfigItem.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) rename src/dev/w1zzrd/invtweaks/{config => serialization}/SimpleReflectiveConfigItem.java (95%) diff --git a/src/dev/w1zzrd/invtweaks/config/SimpleReflectiveConfigItem.java b/src/dev/w1zzrd/invtweaks/serialization/SimpleReflectiveConfigItem.java similarity index 95% rename from src/dev/w1zzrd/invtweaks/config/SimpleReflectiveConfigItem.java rename to src/dev/w1zzrd/invtweaks/serialization/SimpleReflectiveConfigItem.java index 104fd32..3e76801 100644 --- a/src/dev/w1zzrd/invtweaks/config/SimpleReflectiveConfigItem.java +++ b/src/dev/w1zzrd/invtweaks/serialization/SimpleReflectiveConfigItem.java @@ -1,4 +1,4 @@ -package dev.w1zzrd.invtweaks.config; +package dev.w1zzrd.invtweaks.serialization; import org.bukkit.configuration.serialization.ConfigurationSerializable; @@ -6,9 +6,7 @@ import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Modifier; -import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; +import java.util.*; public class SimpleReflectiveConfigItem implements ConfigurationSerializable { @@ -84,7 +82,7 @@ public class SimpleReflectiveConfigItem implements ConfigurationSerializable { private static Method locateParser(final Class cls, final Class prim) { for (final Method method : cls.getDeclaredMethods()) { final Class[] params = method.getParameterTypes(); - if (method.getName().startsWith("parse" + cls.getSimpleName()) && + if ((method.getName().startsWith("parse" + cls.getSimpleName()) || method.getName().equals("fromString")) && Modifier.isStatic(method.getModifiers()) && method.getReturnType().equals(prim != null ? prim : cls) && params.length == 1 && params[0].equals(String.class))