Просмотр исходного кода

Allow global multiplier to be a double

Bill Tarbell 13 лет назад
Родитель
Сommit
d528f11082

+ 1 - 1
src/main/java/com/gmail/nossr50/commands/general/XprateCommand.java

@@ -13,7 +13,7 @@ import com.gmail.nossr50.util.Misc;
 
 public class XprateCommand implements CommandExecutor {
     private final mcMMO plugin;
-    private static int oldRate = Config.getInstance().xpGainMultiplier;
+    private static double oldRate = Config.getInstance().xpGainMultiplier;
     private static boolean xpEvent = false;
 
     public XprateCommand (mcMMO plugin) {

+ 2 - 2
src/main/java/com/gmail/nossr50/config/Config.java

@@ -7,7 +7,7 @@ import org.bukkit.configuration.ConfigurationSection;
 
 public class Config extends ConfigLoader {
     private static Config instance;
-    public int xpGainMultiplier = 1;
+    public double xpGainMultiplier = 1;
 
     private Config() {
         super("config.yml");
@@ -343,7 +343,7 @@ public class Config extends ConfigLoader {
     /* General Settings */
     public boolean getExperienceGainsMobspawnersEnabled() { return config.getBoolean("Experience.Gains.Mobspawners.Enabled", false); }
     public boolean getExperienceGainsPlayerVersusPlayerEnabled() { return config.getBoolean("Experience.PVP.Rewards", true); }
-    public int getExperienceGainsGlobalMultiplier() { return config.getInt("Experience.Gains.Multiplier.Global", 1); }
+    public double getExperienceGainsGlobalMultiplier() { return config.getDouble("Experience.Gains.Multiplier.Global", 1.0); }
 
     /* Combat XP Multipliers */
     public double getPlayerVersusPlayerXP() { return config.getDouble("Experience.Gains.Multiplier.PVP", 1.0); }

+ 2 - 2
src/main/java/com/gmail/nossr50/datatypes/McMMOPlayer.java

@@ -108,7 +108,7 @@ public class McMMOPlayer {
      * @param newValue The amount of XP to add
      */
     public void addXPOverrideBonus(SkillType skillType, int xp) {
-        int modifiedXp = xp * Config.getInstance().xpGainMultiplier;
+        int modifiedXp = (int)Math.floor(xp * Config.getInstance().xpGainMultiplier);
         addXPOverride(skillType, modifiedXp);
     }
 
@@ -129,7 +129,7 @@ public class McMMOPlayer {
             bonusModifier = calculatePartyXPModifier(skillType);
         }
 
-        int xp = (int) (newValue / skillType.getXpModifier()) * Config.getInstance().xpGainMultiplier;
+        int xp = (int)Math.floor((newValue / skillType.getXpModifier()) * Config.getInstance().xpGainMultiplier);
 
         if (bonusModifier > 0) {
             if (bonusModifier >= 2) {