aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io/github/moulberry/notenoughupdates/options/Options.java
diff options
context:
space:
mode:
authorMoulberry <james.jenour@student.scotch.wa.edu.au>2020-11-08 16:42:16 +1100
committerMoulberry <james.jenour@student.scotch.wa.edu.au>2020-11-08 16:42:16 +1100
commitec0660e41145d3d9ed479b3e697afddf8ddc8c4c (patch)
treefba4b3c37b02c42267e03a07453d3941c98fd66d /src/main/java/io/github/moulberry/notenoughupdates/options/Options.java
parentf89c363dda53046d832089d94f04695ce60d3ae6 (diff)
downloadnotenoughupdates-ec0660e41145d3d9ed479b3e697afddf8ddc8c4c.tar.gz
notenoughupdates-ec0660e41145d3d9ed479b3e697afddf8ddc8c4c.tar.bz2
notenoughupdates-ec0660e41145d3d9ed479b3e697afddf8ddc8c4c.zip
asbyth made me do it
Diffstat (limited to 'src/main/java/io/github/moulberry/notenoughupdates/options/Options.java')
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/Options.java37
1 files changed, 18 insertions, 19 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/Options.java b/src/main/java/io/github/moulberry/notenoughupdates/options/Options.java
index 1b6cebe3..0aedc306 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/Options.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/Options.java
@@ -733,28 +733,27 @@ public class Options {
}
public static Options loadFromFile(Gson gson, File file) throws IOException {
- InputStream in = new FileInputStream(file);
- BufferedReader reader = new BufferedReader(new InputStreamReader(in, StandardCharsets.UTF_8));
-
- Options oLoad = gson.fromJson(reader, Options.class);
- Options oDefault = new Options();
- if (oLoad == null) return oDefault;
-
- for (Field f : Options.class.getDeclaredFields()) {
- try {
- if (((Option<?>) f.get(oDefault)).value instanceof List) {
- //If the default size of the list is greater than the loaded size, use the default value.
- //if(((List<?>)((Option)f.get(oDefault)).value).size() > ((List<?>)((Option)f.get(oLoad)).value).size()) {
- // continue;
- //}
- }
- if(((Option<?>) f.get(oDefault)).value.getClass().isAssignableFrom(((Option<?>) f.get(oLoad)).value.getClass())) {
- ((Option) f.get(oDefault)).value = ((Option) f.get(oLoad)).value;
+ try(BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), StandardCharsets.UTF_8))) {
+ Options oLoad = gson.fromJson(reader, Options.class);
+ Options oDefault = new Options();
+ if (oLoad == null) return oDefault;
+
+ for (Field f : Options.class.getDeclaredFields()) {
+ try {
+ if (((Option<?>) f.get(oDefault)).value instanceof List) {
+ //If the default size of the list is greater than the loaded size, use the default value.
+ //if(((List<?>)((Option)f.get(oDefault)).value).size() > ((List<?>)((Option)f.get(oLoad)).value).size()) {
+ // continue;
+ //}
+ }
+ if(((Option<?>) f.get(oDefault)).value.getClass().isAssignableFrom(((Option<?>) f.get(oLoad)).value.getClass())) {
+ ((Option) f.get(oDefault)).value = ((Option) f.get(oLoad)).value;
+ }
+ } catch (Exception e) {
}
- } catch (Exception e) {
}
+ return oDefault;
}
- return oDefault;
}