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

+ 5 - 0
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)

+ 1 - 1
pom.xml

@@ -2,7 +2,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.gmail.nossr50.mcMMO</groupId>
     <artifactId>mcMMO</artifactId>
-    <version>2.1.51</version>
+    <version>2.1.52</version>
     <name>mcMMO</name>
     <url>https://github.com/mcMMO-Dev/mcMMO</url>
     <scm>

+ 3 - 0
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
      */

+ 11 - 7
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;
+        if(ExperienceConfig.getInstance().isEarlyGameBoostEnabled())
+        {
+            int earlyLevelBonusXPCap = (int) (ExperienceConfig.getInstance().getEarlyGameBoostMultiplier() * Config.getInstance().getLevelCap(event.getSkill()));
 
-        int earlyGameBonusXP = 0;
+            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);
+            //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()) {

+ 4 - 0
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