diff --git a/Changelog.txt b/Changelog.txt index 9ca9cf320..04813f919 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -1,3 +1,8 @@ +Version 2.1.52 + Updated Japanese locale (thanks snake0053) + Added a toggle for the early game XP boost to experience.yml 'EarlyGameBoost.Enabled' + Added a max level multiplier for determining early game boosts cutoff to experience.yml 'EarlyGameBoost.MaxLevelMultiplier' + Version 2.1.51 You can now customize a locale outside of the JAR! (Thanks mikroskeem) Added a new locale reload command 'mmolocalereload' (Thanks mikroskeem) diff --git a/pom.xml b/pom.xml index 9be1cd258..8cc6521d2 100755 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 com.gmail.nossr50.mcMMO mcMMO - 2.1.51 + 2.1.52 mcMMO https://github.com/mcMMO-Dev/mcMMO 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 f0797ab62..a3e4b9f63 100644 --- a/src/main/java/com/gmail/nossr50/config/experience/ExperienceConfig.java +++ b/src/main/java/com/gmail/nossr50/config/experience/ExperienceConfig.java @@ -137,6 +137,9 @@ public class ExperienceConfig extends AutoUpdateConfigLoader { return noErrorsInConfig(reason); } + public boolean isEarlyGameBoostEnabled() { return config.getBoolean("EarlyGameBoost.Enabled", true); } + public double getEarlyGameBoostMultiplier() { return config.getDouble("EarlyGameBoost.MaxLevelMultiplier", 0.05D); } + /* * FORMULA SETTINGS */ diff --git a/src/main/java/com/gmail/nossr50/listeners/SelfListener.java b/src/main/java/com/gmail/nossr50/listeners/SelfListener.java index 79f45bde5..6c19dbc28 100644 --- a/src/main/java/com/gmail/nossr50/listeners/SelfListener.java +++ b/src/main/java/com/gmail/nossr50/listeners/SelfListener.java @@ -95,17 +95,21 @@ public class SelfListener implements Listener { return; } - int earlyLevelBonusXPCap = mcMMO.isRetroModeEnabled() ? 50 : 5; - - int earlyGameBonusXP = 0; - - //Give some bonus XP for low levels - if(mcMMOPlayer.getSkillLevel(primarySkillType) < earlyLevelBonusXPCap) + if(ExperienceConfig.getInstance().isEarlyGameBoostEnabled()) { - earlyGameBonusXP += (mcMMOPlayer.getXpToLevel(primarySkillType) * 0.05); - event.setRawXpGained(event.getRawXpGained() + earlyGameBonusXP); + int earlyLevelBonusXPCap = (int) (ExperienceConfig.getInstance().getEarlyGameBoostMultiplier() * Config.getInstance().getLevelCap(event.getSkill())); + + int earlyGameBonusXP = 0; + + //Give some bonus XP for low levels + if(mcMMOPlayer.getSkillLevel(primarySkillType) < earlyLevelBonusXPCap) + { + earlyGameBonusXP += (mcMMOPlayer.getXpToLevel(primarySkillType) * 0.05); + event.setRawXpGained(event.getRawXpGained() + earlyGameBonusXP); + } } + int threshold = ExperienceConfig.getInstance().getDiminishedReturnsThreshold(primarySkillType); if (threshold <= 0 || !ExperienceConfig.getInstance().getDiminishedReturnsEnabled()) { diff --git a/src/main/resources/experience.yml b/src/main/resources/experience.yml index b78154041..ab546e708 100644 --- a/src/main/resources/experience.yml +++ b/src/main/resources/experience.yml @@ -22,6 +22,10 @@ # Splits the boss bar into 6 segments #SOLID # The bar is one solid piece +EarlyGameBoost: + Enabled: true + #Used to determine the cap of the max boot, with default level cap it will be 5 on standard, and 50 on retro + MaxLevelMultiplier: 0.05 ExploitFix: # Prevent many exploits related to fishing Fishing: true