aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/cc/polyfrost/oneconfig/config
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/cc/polyfrost/oneconfig/config')
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/config/Config.java2
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/config/core/ConfigUtils.java11
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/config/elements/BasicOption.java4
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);
}