Browse Source

Correct structure of Archery skill config to have parity with others

nossr50 5 years ago
parent
commit
1a3832f117

+ 12 - 22
src/main/java/com/gmail/nossr50/config/hocon/skills/archery/ConfigArchery.java

@@ -1,46 +1,36 @@
 package com.gmail.nossr50.config.hocon.skills.archery;
 
-import com.gmail.nossr50.datatypes.skills.properties.MaxBonusLevel;
+import com.gmail.nossr50.config.ConfigConstants;
 import ninja.leaping.configurate.objectmapping.Setting;
 import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable;
 
 @ConfigSerializable
 public class ConfigArchery {
 
-    @Setting(value = "Daze")
-    private ConfigArcheryDaze daze = new ConfigArcheryDaze();
-
-    @Setting(value = "Skill-Shot")
-    private ConfigArcherySkillShot skillShot = new ConfigArcherySkillShot();
-
-    @Setting("Arrow-Retrieval")
-    private ConfigArcheryArrowRetrieval arrowRetrieval = new ConfigArcheryArrowRetrieval();
+    @Setting(value = ConfigConstants.SUB_SKILL_NODE)
+    private ConfigArcherySubSkills subSkills = new ConfigArcherySubSkills();
 
     public ConfigArcheryDaze getDaze() {
-        return daze;
+        return subSkills.getDaze();
     }
 
     public ConfigArcherySkillShot getSkillShot() {
-        return skillShot;
-    }
-
-    public double getSkillShotDamageMultiplier() {
-        return skillShot.getSkillShotDamageMultiplier();
+        return subSkills.getSkillShot();
     }
 
-    public double getSkillShotDamageCeiling() {
-        return skillShot.getSkillShotDamageCeiling();
+    public ConfigArcheryLimitBreak getLimitBreak() {
+        return subSkills.getLimitBreak();
     }
 
-    public double getMaxChance() {
-        return daze.getMaxChance();
+    public double getSkillShotDamageMultiplier() {
+        return subSkills.getSkillShotDamageMultiplier();
     }
 
-    public MaxBonusLevel getMaxBonusLevel() {
-        return daze.getMaxBonusLevel();
+    public double getSkillShotDamageCeiling() {
+        return subSkills.getSkillShotDamageCeiling();
     }
 
     public double getBonusDamage() {
-        return daze.getDazeBonusDamage();
+        return subSkills.getBonusDamage();
     }
 }

+ 17 - 0
src/main/java/com/gmail/nossr50/config/hocon/skills/archery/ConfigArcheryLimitBreak.java

@@ -0,0 +1,17 @@
+package com.gmail.nossr50.config.hocon.skills.archery;
+
+import ninja.leaping.configurate.objectmapping.Setting;
+
+public class ConfigArcheryLimitBreak {
+
+    private static final boolean DEFAULT_PVE = false;
+
+    @Setting(value = "PVE", comment = "If true, the bonus damage from Limit Break will apply to PVE in addition to PVP." +
+            "\nDefault value: "+DEFAULT_PVE)
+    private boolean PVE = DEFAULT_PVE;
+
+    public boolean isEnabledForPVE() {
+        return PVE;
+    }
+
+}

+ 44 - 0
src/main/java/com/gmail/nossr50/config/hocon/skills/archery/ConfigArcherySubSkills.java

@@ -0,0 +1,44 @@
+package com.gmail.nossr50.config.hocon.skills.archery;
+
+import ninja.leaping.configurate.objectmapping.Setting;
+import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable;
+
+@ConfigSerializable
+public class ConfigArcherySubSkills {
+
+    @Setting(value = "Daze")
+    private ConfigArcheryDaze daze = new ConfigArcheryDaze();
+
+    @Setting(value = "Skill-Shot")
+    private ConfigArcherySkillShot skillShot = new ConfigArcherySkillShot();
+
+    @Setting("Arrow-Retrieval")
+    private ConfigArcheryArrowRetrieval arrowRetrieval = new ConfigArcheryArrowRetrieval();
+
+    @Setting("Limit-Break")
+    private ConfigArcheryLimitBreak limitBreak = new ConfigArcheryLimitBreak();
+
+    public ConfigArcheryDaze getDaze() {
+        return daze;
+    }
+
+    public ConfigArcherySkillShot getSkillShot() {
+        return skillShot;
+    }
+
+    public ConfigArcheryLimitBreak getLimitBreak() {
+        return limitBreak;
+    }
+
+    public double getSkillShotDamageMultiplier() {
+        return skillShot.getSkillShotDamageMultiplier();
+    }
+
+    public double getSkillShotDamageCeiling() {
+        return skillShot.getSkillShotDamageCeiling();
+    }
+
+    public double getBonusDamage() {
+        return daze.getDazeBonusDamage();
+    }
+}

+ 0 - 1
src/main/java/com/gmail/nossr50/util/experience/ExperienceBarWrapper.java

@@ -4,7 +4,6 @@ import com.gmail.nossr50.datatypes.player.McMMOPlayer;
 import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
 import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.util.StringUtils;
-import com.gmail.nossr50.util.player.PlayerLevelTools;
 import org.bukkit.boss.BarColor;
 import org.bukkit.boss.BarStyle;
 import org.bukkit.boss.BossBar;