Browse Source

Move config loading outside of constructors

nossr50 6 years ago
parent
commit
948837546a

+ 7 - 1
src/main/java/com/gmail/nossr50/config/Config.java

@@ -76,7 +76,10 @@ public abstract class Config implements VersionedConfig, Unload {
 
         DIRECTORY_DATA_FOLDER = pathToParentFolder; //Data Folder for our plugin
         FILE_RELATIVE_PATH = relativePath + fileName + HOCON_FILE_EXTENSION; //Relative path to config from a parent folder
+    }
 
+    public void initFullConfig()
+    {
         //Attempt IO Operations
         try {
             //Makes sure we have valid Files corresponding to this config
@@ -181,17 +184,20 @@ public abstract class Config implements VersionedConfig, Unload {
         Path potentialFile = Paths.get(getDefaultConfigCopyRelativePath());
         ConfigurationLoader<CommentedConfigurationNode> generation_loader
                 = HoconConfigurationLoader.builder().setPath(potentialFile).build();
+
         try {
             mcMMO.p.getLogger().info("Config File Full Path: "+getDefaultConfigFile().getAbsolutePath());
             //Delete any existing default config
             if(getDefaultConfigFile().exists())
                 getDefaultConfigFile().delete();
 
+            //Make new file
+            getDefaultConfigFile().createNewFile();
+
             //Load the config
             defaultRootNode = generation_loader.load();
 
             //Save to a new file
-            getDefaultConfigFile().createNewFile();
             generation_loader.save(defaultRootNode);
 
             mcMMO.p.getLogger().info("Generated a default file for "+fileName);

+ 2 - 0
src/main/java/com/gmail/nossr50/config/hocon/database/ConfigDatabase.java

@@ -14,6 +14,8 @@ public class ConfigDatabase extends Config {
     public ConfigDatabase() {
         super("mysql", ConfigConstants.getDataFolder(), ConfigConstants.RELATIVE_PATH_CONFIG_DIR,
                 true,true, false, true);
+
+        initFullConfig(); //Load Config
     }
 
     @Override