diff options
Diffstat (limited to 'src/main/java/cc/polyfrost/oneconfig/config')
3 files changed, 7 insertions, 10 deletions
diff --git a/src/main/java/cc/polyfrost/oneconfig/config/Config.java b/src/main/java/cc/polyfrost/oneconfig/config/Config.java index 37dcf18..88d0784 100644 --- a/src/main/java/cc/polyfrost/oneconfig/config/Config.java +++ b/src/main/java/cc/polyfrost/oneconfig/config/Config.java @@ -33,7 +33,7 @@ import java.util.Optional; import java.util.function.Supplier; public class Config { - public static Config INSTANCE = null; + public transient static Config INSTANCE = null; public final transient HashMap<String, BasicOption> optionNames = new HashMap<>(); transient protected final String configFile; transient protected final Gson gson = new GsonBuilder().excludeFieldsWithModifiers(Modifier.TRANSIENT).setPrettyPrinting().create(); diff --git a/src/main/java/cc/polyfrost/oneconfig/config/core/ConfigUtils.java b/src/main/java/cc/polyfrost/oneconfig/config/core/ConfigUtils.java index 99b52e3..fb3ff3a 100644 --- a/src/main/java/cc/polyfrost/oneconfig/config/core/ConfigUtils.java +++ b/src/main/java/cc/polyfrost/oneconfig/config/core/ConfigUtils.java @@ -43,17 +43,16 @@ public class ConfigUtils { return null; } - public static ArrayList<BasicOption> getClassOptions(Object object, Class<?> parentClass) { + public static ArrayList<BasicOption> getClassOptions(Object object) { ArrayList<BasicOption> options = new ArrayList<>(); ArrayList<Field> fields = new ArrayList<>(Arrays.asList(object.getClass().getDeclaredFields())); + Class<?> parentClass = object.getClass(); Class<?> clazz = object.getClass(); while (true) { clazz = clazz.getSuperclass(); - if (clazz != null && clazz != parentClass) { - fields.addAll(Arrays.asList(clazz.getDeclaredFields())); - } else { - break; - } + if (clazz != null && clazz != parentClass) fields.addAll(Arrays.asList(clazz.getDeclaredFields())); + else break; + parentClass = clazz; } for (Field field : fields) { Option option = findAnnotation(field, Option.class); diff --git a/src/main/java/cc/polyfrost/oneconfig/config/elements/BasicOption.java b/src/main/java/cc/polyfrost/oneconfig/config/elements/BasicOption.java index 2bee982..eba2f9f 100644 --- a/src/main/java/cc/polyfrost/oneconfig/config/elements/BasicOption.java +++ b/src/main/java/cc/polyfrost/oneconfig/config/elements/BasicOption.java @@ -37,9 +37,7 @@ public abstract class BasicOption { * @param object Java object to set the variable to */ protected void set(Object object) throws IllegalAccessException { - if (field == null) { - return; - } + if (field == null) return; field.set(parent, object); } |