diff --git a/src/main/java/com/gmail/nossr50/config/experience/ExperienceConfig.java b/src/main/java/com/gmail/nossr50/config/experience/ExperienceConfig.java index 0062d7b7f..72d00dd11 100644 --- a/src/main/java/com/gmail/nossr50/config/experience/ExperienceConfig.java +++ b/src/main/java/com/gmail/nossr50/config/experience/ExperienceConfig.java @@ -165,7 +165,8 @@ public class ExperienceConfig extends AutoUpdateConfigLoader { */ /* Curve settings */ - public FormulaType getFormulaType() { return FormulaType.getFormulaType(config.getString("Experience_Formula.Curve")); } + public FormulaType getFormulaType() { return FormulaType.getFormulaType(config.getString("Experience_Formula.Curve.DEFAULT")); } + public FormulaType getFormulaType(SkillType skill) { return FormulaType.getFormulaType(config.getString("Experience_Formula.Curve." + StringUtils.getCapitalized(skill.toString()))); } public boolean getCumulativeCurveEnabled() { return config.getBoolean("Experience_Formula.Cumulative_Curve", false); } /* Curve values */ diff --git a/src/main/java/com/gmail/nossr50/datatypes/player/PlayerProfile.java b/src/main/java/com/gmail/nossr50/datatypes/player/PlayerProfile.java index b55cfd98b..f2ed6fd2f 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/player/PlayerProfile.java +++ b/src/main/java/com/gmail/nossr50/datatypes/player/PlayerProfile.java @@ -345,7 +345,7 @@ public class PlayerProfile { */ public int getXpToLevel(SkillType skillType) { int level = (ExperienceConfig.getInstance().getCumulativeCurveEnabled()) ? UserManager.getPlayer(playerName).getPowerLevel() : skills.get(skillType); - FormulaType formulaType = ExperienceConfig.getInstance().getFormulaType(); + FormulaType formulaType = ExperienceConfig.getInstance().getFormulaType(skillType); return mcMMO.getFormulaManager().getCachedXpToLevel(level, formulaType); } diff --git a/src/main/resources/experience.yml b/src/main/resources/experience.yml index 5d53711e0..53e7629cf 100644 --- a/src/main/resources/experience.yml +++ b/src/main/resources/experience.yml @@ -14,7 +14,21 @@ Experience_Formula: # If an invalid value is entered, this will reset to the default setting, which is LINEAR # LINEAR: base + (level * multiplier) # EXPONENTIAL: multiplier * level ^ exponent + base - Curve: LINEAR + Curve: + Swords: LINEAR + Taming: EXPONENTIAL + Acrobatics: LINEAR + Excavation: EXPONENTIAL + Herbalism: LINEAR + Unarmed: EXPONENTIAL + Woodcutting: LINEAR + Mining: EXPONENTIAL + Archery: LINEAR + Axes: EXPONENTIAL + Repair: LINEAR + Fishing: EXPONENTIAL + Alchemy: LINEAR + DEFAULT: LINEAR # If invalid values are entered mcMMO will not start and print an error in the console Linear_Values: