2
0
nossr50 6 жил өмнө
parent
commit
bf63ce33c5

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

@@ -5,10 +5,13 @@ import com.gmail.nossr50.datatypes.skills.SubSkillType;
 import com.gmail.nossr50.datatypes.skills.subskills.AbstractSubSkill;
 import com.gmail.nossr50.mcMMO;
 import net.md_5.bungee.api.ChatColor;
+import ninja.leaping.configurate.objectmapping.Setting;
+import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable;
 
 import java.util.ArrayList;
 import java.util.List;
 
+@ConfigSerializable
 public class AdvancedConfig extends ConfigLoaderConfigurable {
     private static AdvancedConfig instance;
 
@@ -24,6 +27,9 @@ public class AdvancedConfig extends ConfigLoaderConfigurable {
         return instance;
     }
 
+    @Setting(value = "Skills.General.StartingLevel", comment = "The starting level for players on your server.\nHistorically this has been 0.\nRecently is has changed to 1.")
+    private int startingLevel = 1;
+
     @Override
     public List<String> validateKeys() {
         // Validate all the settings!
@@ -369,7 +375,7 @@ public class AdvancedConfig extends ConfigLoaderConfigurable {
     }
 
     /* GENERAL */
-    public int getStartingLevel() { return getIntValue("Skills.General.StartingLevel"); }
+    public int getStartingLevel() { return startingLevel; }
 
     /**
      * This returns the maximum level at which superabilities will stop lengthening from scaling alongside skill level.

+ 13 - 9
src/main/java/com/gmail/nossr50/config/ConfigLoaderConfigurable.java

@@ -3,6 +3,8 @@ package com.gmail.nossr50.config;
 import com.gmail.nossr50.mcMMO;
 import com.google.common.io.Files;
 import ninja.leaping.configurate.ConfigurationNode;
+import ninja.leaping.configurate.commented.CommentedConfigurationNode;
+import ninja.leaping.configurate.loader.ConfigurationLoader;
 import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable;
 import ninja.leaping.configurate.yaml.YAMLConfigurationLoader;
 
@@ -37,6 +39,10 @@ public abstract class ConfigLoaderConfigurable implements DefaultKeys {
 
     private ConfigurationNode userRootNode = null;
     private ConfigurationNode defaultRootNode = null;
+    private CommentedConfigurationNode userCommentedRootNode = null;
+
+    /* CONFIG MANAGER */
+    private ConfigurationLoader<CommentedConfigurationNode> configManager;
 
     //TODO: Needed?
     //private ConfigurationLoader<CommentedConfigurationNode> configManager;
@@ -105,6 +111,9 @@ public abstract class ConfigLoaderConfigurable implements DefaultKeys {
             final ConfigurationNode userConfig = this.userCopyLoader.load();
             userRootNode = userConfig;
 
+            //TESTING THIS
+            userCommentedRootNode = configManager.load();
+
         } catch (IOException e) {
             e.printStackTrace();
         }
@@ -282,28 +291,23 @@ public abstract class ConfigLoaderConfigurable implements DefaultKeys {
         return userRootNode;
     }
 
-    /**
-     * Attempts to get an int value from the config
-     * @param path path the node from the root node
-     * @return int value of the node
-     */
     int getIntValue(String path)
     {
-        return userRootNode.getNode(path).getInt();
+        return userRootNode.getNode(path.split(".")).getInt();
     }
 
     double getDoubleValue(String path)
     {
-        return userRootNode.getNode(path).getDouble();
+        return userRootNode.getNode(path.split(".")).getDouble();
     }
 
     boolean getBooleanValue(String path)
     {
-        return userRootNode.getNode(path).getBoolean();
+        return userRootNode.getNode(path.split(".")).getBoolean();
     }
 
     String getStringValue(String path)
     {
-        return userRootNode.getNode(path).getString();
+        return userRootNode.getNode(path.split(".")).getString();
     }
 }

+ 8 - 2
src/main/java/com/gmail/nossr50/config/ConfigurableTest.java

@@ -1,18 +1,21 @@
 package com.gmail.nossr50.config;
 
 import com.gmail.nossr50.mcMMO;
+import ninja.leaping.configurate.objectmapping.Setting;
+import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable;
 
 import java.util.List;
 
+@ConfigSerializable
 public class ConfigurableTest extends ConfigLoaderConfigurable {
 
     public final static String relativePath = "configurabletest.yml";
     private static ConfigurableTest instance;
 
-
-
     public ConfigurableTest() {
         super(mcMMO.p.getDataFolder(), relativePath);
+
+        mcMMO.p.getLogger().severe("The value of bone "+boneValue);
     }
 
     public static ConfigurableTest getInstance() {
@@ -22,6 +25,9 @@ public class ConfigurableTest extends ConfigLoaderConfigurable {
         return instance;
     }
 
+    @Setting(value = "woof.bone", comment = "Finally we have found the value of bone")
+    double boneValue = 9.4447;
+
     @Override
     public List<String> validateKeys() {
         return null;

+ 1 - 1
src/main/resources/configurabletest.yml

@@ -6,4 +6,4 @@ TheBidoofNotation:
 Woof:
     Bark:
         Meow: "Reeeee"
-    Bone: 8.3827
+    Bone: 9.4447