diff --git a/pom.xml b/pom.xml
index a9f53f868..c1663a51a 100755
--- a/pom.xml
+++ b/pom.xml
@@ -17,7 +17,7 @@
jar
- mcMMO.jar
+ ${project.artifactId}${basedir}/src/main/java
@@ -77,9 +77,6 @@
src/main/assembly/package.xml
-
@@ -245,7 +242,6 @@
- UNDEFINEDUTF-8
diff --git a/src/main/assembly/package.xml b/src/main/assembly/package.xml
index daa812cb8..465536829 100644
--- a/src/main/assembly/package.xml
+++ b/src/main/assembly/package.xml
@@ -6,9 +6,9 @@
-
+
/
-
+ mcMMO.jar
\ No newline at end of file
diff --git a/src/main/java/com/gmail/nossr50/config/ConfigConstants.java b/src/main/java/com/gmail/nossr50/config/ConfigConstants.java
index 382f71c8d..37882454a 100644
--- a/src/main/java/com/gmail/nossr50/config/ConfigConstants.java
+++ b/src/main/java/com/gmail/nossr50/config/ConfigConstants.java
@@ -12,6 +12,9 @@ public class ConfigConstants {
private final static String[] EXAMPLE_BLACKLIST_WORLDS = {"Example_15434453", "Example_2324423", "Example_323423465"};
public final static ArrayList EXAMPLE_BLACKLIST_WORLDS_LIST_DEFAULT;
+ public final static String SKILL_SCALING_BENEFIT_EXPLANATION = "\nSub-Skills dynamically adjust their rewards to match the max bonus level, you can think of it as a curve that calculates what bonuses " +
+ "\n a player should have based on how far they are from the max bonus level value, and the other parameters used for the scaling of that sub-skill.";
+
//Add the worlds to the list
static {
EXAMPLE_BLACKLIST_WORLDS_LIST_DEFAULT = new ArrayList<>();
diff --git a/src/main/java/com/gmail/nossr50/config/hocon/skills/ConfigScalingSubSkillRetro.java b/src/main/java/com/gmail/nossr50/config/hocon/skills/ConfigScalingSubSkillRetro.java
index b6bd13f94..cf2580a91 100644
--- a/src/main/java/com/gmail/nossr50/config/hocon/skills/ConfigScalingSubSkillRetro.java
+++ b/src/main/java/com/gmail/nossr50/config/hocon/skills/ConfigScalingSubSkillRetro.java
@@ -12,16 +12,18 @@ public class ConfigScalingSubSkillRetro {
public static final int MAX_BONUS_LEVEL_DEFAULT = 1000;
public static final double CHANCE_AT_MAX_SKILL_DEFAULT = 100.0D;
- @Setting(value = "Retro-Mode-Max-Bonus-Level", comment = "At the max bonus level a player will have full benefits from this scaling skill." +
+ @Setting(value = "Max-Bonus-Level", comment = "Max bonus level is the level a player needs to reach in this skill to receive maximum benefits, such as better RNG odds or otherwise." +
"\nSkills dynamically adjust their rewards to match the max bonus level, you can think of it as a curve that calculates what bonuses " +
"\n a player should have based on how far they are from the max bonus level value, and the other parameters used for the scaling of the sub-skill." +
"\nNote: This is the setting for RETRO MODE!" +
"\nDefault value: "+MAX_BONUS_LEVEL_DEFAULT)
private int maxBonusLevel = MAX_BONUS_LEVEL_DEFAULT;
- @Setting(value = "Retro-Mode-Success-Rate-Cap-Percentage", comment = "This is the odds for RNG components of this sub-skill to succeed when a player has reached \"Max-Bonus-Level\"." +
+ @Setting(value = "Max-Success-Chance", comment = "The maximum success chance for this Sub-Skill." +
+ "\nA value of 100.0 would be equivalent to 100% chance of success." +
+ "\nPlayers only have Max-Success-Chance when their skill level has reached the maximum bonus level." +
"\nMax skill chance is dynamically adjusted based on the players level difference from the \"Max-Bonus-Level\", you can think of it as a curve where reaching \"Max-Bonus-Level\" is the peak." +
- "\nAs an example, imagine \"Retro-Mode-Success-Rate-Cap-Percentage\" was set to " + FIFTY_PERCENT_EXAMPLE + " and the \"Max-Bonus-Level\" was " + MAX_BONUS_LEVEL_EXAMPLE + "," +
+ "\nAs an example, imagine \"Max-Success-Chance\" was set to " + FIFTY_PERCENT_EXAMPLE + " and the \"Max-Bonus-Level\" was " + MAX_BONUS_LEVEL_EXAMPLE + "," +
"\n and the player was level " + FIFTY_PERCENT_EXAMPLE + " for this skill, that would give the player " + ODDS_PERCENTAGE_EXAMPLE + " odds to succeed with this skill." +
"\nNote: This is the setting for RETRO MODE!" +
"\nDefault value: "+CHANCE_AT_MAX_SKILL_DEFAULT)
diff --git a/src/main/java/com/gmail/nossr50/config/hocon/skills/ConfigScalingSubSkillStandard.java b/src/main/java/com/gmail/nossr50/config/hocon/skills/ConfigScalingSubSkillStandard.java
index 8d78cefbc..a99f69b8d 100644
--- a/src/main/java/com/gmail/nossr50/config/hocon/skills/ConfigScalingSubSkillStandard.java
+++ b/src/main/java/com/gmail/nossr50/config/hocon/skills/ConfigScalingSubSkillStandard.java
@@ -12,16 +12,18 @@ public class ConfigScalingSubSkillStandard {
public static final int MAX_BONUS_LEVEL_DEFAULT = 100;
public static final double CHANCE_AT_MAX_SKILL_DEFAULT = 100.0D;
- @Setting(value = "Standard-Mode-Max-Bonus-Level", comment = "At the max bonus level a player will have full benefits from this scaling skill." +
+ @Setting(value = "Max-Bonus-Level", comment = "Max bonus level is the level a player needs to reach in this skill to receive maximum benefits, such as better RNG odds or otherwise." +
"\nSkills dynamically adjust their rewards to match the max bonus level, you can think of it as a curve that calculates what bonuses " +
"\n a player should have based on how far they are from the max bonus level value, and the other parameters used for the scaling of the sub-skill." +
"\nNote: This is the setting for STANDARD MODE!" +
"\nDefault value: "+MAX_BONUS_LEVEL_DEFAULT)
private int maxBonusLevel = MAX_BONUS_LEVEL_DEFAULT;
- @Setting(value = "Standard-Mode-Success-Rate-Cap-Percentage", comment = "This is the odds for RNG components of this sub-skill to succeed when a player has reached \"Max-Bonus-Level\"." +
+ @Setting(value = "Max-Success-Chance", comment = "The maximum success chance for this Sub-Skill." +
+ "\nA value of 100.0 would be equivalent to 100% chance of success." +
+ "\nPlayers only have Max-Success-Chance when their skill level has reached the maximum bonus level." +
"\nMax skill chance is dynamically adjusted based on the players level difference from the \"Max-Bonus-Level\", you can think of it as a curve where reaching \"Max-Bonus-Level\" is the peak." +
- "\nAs an example, imagine \"Standard-Mode-Success-Rate-Cap-Percentage\" was set to " + FIFTY_PERCENT_EXAMPLE + " and the \"Max-Bonus-Level\" was " + MAX_BONUS_LEVEL_EXAMPLE + "," +
+ "\nAs an example, imagine \"Max-Success-Chance\" was set to " + FIFTY_PERCENT_EXAMPLE + " and the \"Max-Bonus-Level\" was " + MAX_BONUS_LEVEL_EXAMPLE + "," +
"\n and the player was level " + FIFTY_PERCENT_EXAMPLE + " for this skill, that would give the player " + ODDS_PERCENTAGE_EXAMPLE + " odds to succeed with this skill." +
"\nNote: This is the setting for STANDARD MODE!" +
"\nDefault value: "+CHANCE_AT_MAX_SKILL_DEFAULT)
diff --git a/src/main/java/com/gmail/nossr50/config/hocon/skills/ConfigScalingSubSkill.java b/src/main/java/com/gmail/nossr50/config/hocon/skills/ConfigSubSkillScalingRNG.java
similarity index 98%
rename from src/main/java/com/gmail/nossr50/config/hocon/skills/ConfigScalingSubSkill.java
rename to src/main/java/com/gmail/nossr50/config/hocon/skills/ConfigSubSkillScalingRNG.java
index 2fac211a4..01dca3273 100644
--- a/src/main/java/com/gmail/nossr50/config/hocon/skills/ConfigScalingSubSkill.java
+++ b/src/main/java/com/gmail/nossr50/config/hocon/skills/ConfigSubSkillScalingRNG.java
@@ -4,7 +4,7 @@ import ninja.leaping.configurate.objectmapping.Setting;
import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable;
@ConfigSerializable
-public class ConfigScalingSubSkill {
+public class ConfigSubSkillScalingRNG {
@Setting(value = "Standard-Mode-Scaling-Settings", comment = "Standard mode is the new default level scaling for mcMMO" +
"\nMost skills in standard mode scale from 1-100, maxing out at 100." +
diff --git a/src/main/java/com/gmail/nossr50/config/hocon/skills/acrobatics/ConfigAcrobatics.java b/src/main/java/com/gmail/nossr50/config/hocon/skills/acrobatics/ConfigAcrobatics.java
index d48333ab2..31b76866e 100644
--- a/src/main/java/com/gmail/nossr50/config/hocon/skills/acrobatics/ConfigAcrobatics.java
+++ b/src/main/java/com/gmail/nossr50/config/hocon/skills/acrobatics/ConfigAcrobatics.java
@@ -1,8 +1,27 @@
package com.gmail.nossr50.config.hocon.skills.acrobatics;
+import com.gmail.nossr50.config.hocon.skills.acrobatics.dodge.ConfigDodge;
+import com.gmail.nossr50.config.hocon.skills.acrobatics.roll.ConfigRoll;
+import ninja.leaping.configurate.objectmapping.Setting;
import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable;
@ConfigSerializable
public class ConfigAcrobatics {
+ @Setting(value = "Roll", comment = "Settings related to the Roll Sub-Skill." +
+ "\nSettings related to preventing abuse of this skill can be found in the anti_exploit config file.")
+ private ConfigRoll roll = new ConfigRoll();
+
+ public ConfigRoll getRoll() {
+ return roll;
+ }
+
+ @Setting(value = "Dodge", comment = "Settings related to the Dodge Sub-Skill." +
+ "\nSettings related to preventing abuse of this skill can be found in the anti_exploit config file.")
+ private ConfigDodge dodge = new ConfigDodge();
+
+ public ConfigDodge getDodge() {
+ return dodge;
+ }
+
}
\ No newline at end of file
diff --git a/src/main/java/com/gmail/nossr50/config/hocon/skills/acrobatics/dodge/ConfigDodge.java b/src/main/java/com/gmail/nossr50/config/hocon/skills/acrobatics/dodge/ConfigDodge.java
new file mode 100644
index 000000000..adb607caf
--- /dev/null
+++ b/src/main/java/com/gmail/nossr50/config/hocon/skills/acrobatics/dodge/ConfigDodge.java
@@ -0,0 +1,29 @@
+package com.gmail.nossr50.config.hocon.skills.acrobatics.dodge;
+
+import com.gmail.nossr50.config.hocon.skills.ConfigSubSkillScalingRNG;
+import ninja.leaping.configurate.objectmapping.Setting;
+import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable;
+
+@ConfigSerializable
+public class ConfigDodge {
+
+ public static final double DAMAGE_REDUCTION_DIVISOR_DEFAULT = 2.0D;
+
+ @Setting(value = "Damage-Reduction-Divisor", comment = "If a player successfully dodges the incoming damage will be divided by this value." +
+ "\nPlayers can dodge almost all types of damage from other entities, such as player damage, monster damage, etc." +
+ "\nAs an example, a value of 2.0 for this setting would result in the player taking half damage." +
+ "\nHigher values would further decrease the amount of damage the player takes after a successful dodge." +
+ "\nDefault value: "+DAMAGE_REDUCTION_DIVISOR_DEFAULT)
+ private double damageReductionDivisor = DAMAGE_REDUCTION_DIVISOR_DEFAULT;
+
+ @Setting(value = "RNG-Settings", comment = "Settings related to random chance elements for this Sub-Skill.")
+ private ConfigSubSkillScalingRNG rng = new ConfigSubSkillScalingRNG();
+
+ public ConfigSubSkillScalingRNG getRng() {
+ return rng;
+ }
+
+ public double getDamageReductionDivisor() {
+ return damageReductionDivisor;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/gmail/nossr50/config/hocon/skills/acrobatics/roll/ConfigRoll.java b/src/main/java/com/gmail/nossr50/config/hocon/skills/acrobatics/roll/ConfigRoll.java
new file mode 100644
index 000000000..679ef22f8
--- /dev/null
+++ b/src/main/java/com/gmail/nossr50/config/hocon/skills/acrobatics/roll/ConfigRoll.java
@@ -0,0 +1,27 @@
+package com.gmail.nossr50.config.hocon.skills.acrobatics.roll;
+
+import com.gmail.nossr50.config.hocon.skills.ConfigSubSkillScalingRNG;
+import ninja.leaping.configurate.objectmapping.Setting;
+import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable;
+
+@ConfigSerializable
+public class ConfigRoll {
+
+ public static final double ROLL_DAMAGE_THRESHOLD_DEFAULT = 7.0D;
+
+ @Setting(value = "Damage-Threshold", comment = "Rolling will reduce up to this much damage." +
+ "\nGraceful Rolls will reduce twice this value." +
+ "\nDefault value: "+ROLL_DAMAGE_THRESHOLD_DEFAULT)
+ private double damageTheshold = ROLL_DAMAGE_THRESHOLD_DEFAULT;
+
+ @Setting(value = "RNG-Settings", comment = "Settings related to random chance elements for this Sub-Skill.")
+ private ConfigSubSkillScalingRNG rng = new ConfigSubSkillScalingRNG();
+
+ public ConfigSubSkillScalingRNG getRNGSettings() {
+ return rng;
+ }
+
+ public double getDamageTheshold() {
+ return damageTheshold;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/gmail/nossr50/config/hocon/skills/repair/ConfigRepairSuperRepair.java b/src/main/java/com/gmail/nossr50/config/hocon/skills/repair/ConfigRepairSuperRepair.java
index 78f89265b..adffced3d 100644
--- a/src/main/java/com/gmail/nossr50/config/hocon/skills/repair/ConfigRepairSuperRepair.java
+++ b/src/main/java/com/gmail/nossr50/config/hocon/skills/repair/ConfigRepairSuperRepair.java
@@ -1,6 +1,6 @@
package com.gmail.nossr50.config.hocon.skills.repair;
-import com.gmail.nossr50.config.hocon.skills.ConfigScalingSubSkill;
+import com.gmail.nossr50.config.hocon.skills.ConfigSubSkillScalingRNG;
import ninja.leaping.configurate.objectmapping.Setting;
import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable;
@@ -8,9 +8,9 @@ import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable;
public class ConfigRepairSuperRepair {
@Setting(value = "Settings")
- private ConfigScalingSubSkill superRepair = new ConfigScalingSubSkill();
+ private ConfigSubSkillScalingRNG superRepair = new ConfigSubSkillScalingRNG();
- public ConfigScalingSubSkill getSuperRepair() {
+ public ConfigSubSkillScalingRNG getSuperRepair() {
return superRepair;
}
}
\ No newline at end of file