From a0bc44ca06f7a19b7e2bad6047e68386cc6ac753 Mon Sep 17 00:00:00 2001 From: coolGi Date: Sat, 26 Aug 2023 15:20:08 +0930 Subject: [PATCH] Proper fix for checking if the config is loaded --- .../distanthorizons/core/config/Config.java | 8 ------- .../core/config/ConfigBase.java | 8 ++++++- .../AbstractPresetConfigEventHandler.java | 3 ++- .../core/config/file/ConfigFileHandling.java | 21 +++++++++++++------ 4 files changed, 24 insertions(+), 16 deletions(-) diff --git a/core/src/main/java/com/seibel/distanthorizons/core/config/Config.java b/core/src/main/java/com/seibel/distanthorizons/core/config/Config.java index 761db1814..4b4696a56 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/config/Config.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/config/Config.java @@ -60,14 +60,6 @@ public class Config public static ConfigCategory client = new ConfigCategory.Builder().set(Client.class).build(); - /** - * False if the config hasn't been loaded in from file yet. - * While in this state the config shouldn't be modified since it may cause file corruption.

- * - * True if the config has been loaded and is ready to use. - */ - public static boolean loaded = false; - public static class Client diff --git a/core/src/main/java/com/seibel/distanthorizons/core/config/ConfigBase.java b/core/src/main/java/com/seibel/distanthorizons/core/config/ConfigBase.java index 4b6df2e75..863d3adfa 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/config/ConfigBase.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/config/ConfigBase.java @@ -26,11 +26,13 @@ public class ConfigBase public static ConfigBase INSTANCE; public ConfigFileHandling configFileINSTANCE; - public static final Logger LOGGER = LogManager.getLogger(ConfigBase.class.getSimpleName()); + private final Logger LOGGER; public final String modID; public final String modName; public final int configVersion; + public boolean isLoaded = false; + /** @@ -78,6 +80,8 @@ public class ConfigBase public ConfigBase(String modID, String modName, Class config, int configVersion) { + this.LOGGER = LogManager.getLogger(this.getClass().getSimpleName() + ", " + modID); + LOGGER.info("Initialising config for " + modName); this.modID = modID; this.modName = modName; @@ -88,6 +92,8 @@ public class ConfigBase // File handling (load from file) this.configFileINSTANCE = new ConfigFileHandling(this); this.configFileINSTANCE.loadFromFile(); + + isLoaded = true; LOGGER.info("Config for " + modName + " initialised"); } diff --git a/core/src/main/java/com/seibel/distanthorizons/core/config/eventHandlers/presets/AbstractPresetConfigEventHandler.java b/core/src/main/java/com/seibel/distanthorizons/core/config/eventHandlers/presets/AbstractPresetConfigEventHandler.java index 1aae2f6d8..7e6ceaca7 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/config/eventHandlers/presets/AbstractPresetConfigEventHandler.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/config/eventHandlers/presets/AbstractPresetConfigEventHandler.java @@ -1,6 +1,7 @@ package com.seibel.distanthorizons.core.config.eventHandlers.presets; import com.seibel.distanthorizons.core.config.Config; +import com.seibel.distanthorizons.core.config.ConfigBase; import com.seibel.distanthorizons.core.config.ConfigEntryWithPresetOptions; import com.seibel.distanthorizons.core.config.listeners.IConfigListener; import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector; @@ -64,7 +65,7 @@ public abstract class AbstractPresetConfigEventHandler