aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/cc/polyfrost/oneconfig/config
diff options
context:
space:
mode:
authorDeDiamondPro <67508414+DeDiamondPro@users.noreply.github.com>2022-08-10 12:47:30 +0200
committerGitHub <noreply@github.com>2022-08-10 12:47:30 +0200
commit97a75485fa125b37c27ffd53ac1c4fbc875a7b40 (patch)
tree1a5ed16cbf80ac2d2ca21ad713883d4b2e185347 /src/main/java/cc/polyfrost/oneconfig/config
parent091ce4c72c123f43f317c097818ace15f3a085fa (diff)
downloadOneConfig-97a75485fa125b37c27ffd53ac1c4fbc875a7b40.tar.gz
OneConfig-97a75485fa125b37c27ffd53ac1c4fbc875a7b40.tar.bz2
OneConfig-97a75485fa125b37c27ffd53ac1c4fbc875a7b40.zip
Profile fix (#89)
* e * omg finish profile shit * api and fix 1.12.2 preprocess * fix class names * fix compat mode profile stuff * api
Diffstat (limited to 'src/main/java/cc/polyfrost/oneconfig/config')
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/config/Config.java17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/main/java/cc/polyfrost/oneconfig/config/Config.java b/src/main/java/cc/polyfrost/oneconfig/config/Config.java
index 0f74b31..7c3b7ed 100644
--- a/src/main/java/cc/polyfrost/oneconfig/config/Config.java
+++ b/src/main/java/cc/polyfrost/oneconfig/config/Config.java
@@ -68,7 +68,6 @@ public class Config {
transient protected final Gson nonProfileSpecificGson = new GsonBuilder().setExclusionStrategies(new NonProfileSpecificExclusionStrategy()).excludeFieldsWithModifiers(Modifier.TRANSIENT).setPrettyPrinting().create();
transient protected final HashMap<Field, Object> defaults = new HashMap<>();
transient public Mod mod;
- public transient boolean hasBeenInitialized = false;
public boolean enabled;
/**
@@ -93,14 +92,17 @@ public class Config {
public void initialize() {
boolean migrate = false;
if (Profiles.getProfileFile(configFile).exists()) load();
- else if (!hasBeenInitialized && mod.migrator != null) migrate = true;
+ else if (mod.migrator != null) migrate = true;
else save();
- if (hasBeenInitialized) return;
mod.config = this;
generateOptionList(this, mod.defaultPage, mod, migrate);
if (migrate) save();
ConfigCore.mods.add(mod);
- hasBeenInitialized = true;
+ }
+
+ public void reInitialize() {
+ if (Profiles.getProfileFile(configFile).exists()) load();
+ else save();
}
/**
@@ -382,4 +384,11 @@ public class Config {
option.reset(this);
}
}
+
+ /**
+ * @return If this mod supports profiles, false for compatibility mode
+ */
+ public boolean supportsProfiles() {
+ return true;
+ }
}