浏览代码

Make Archery distance multiplier configurable

Add #2385
TfT_02 10 年之前
父节点
当前提交
af7ff3df58

+ 1 - 0
Changelog.txt

@@ -13,6 +13,7 @@ Version 1.5.02-dev
  = Fixed bug where MobHealthbarTypes were not saved between server restarts
  = Fixed bug where MobHealthbarTypes were not saved between server restarts
  ! Changed Flux Mining mechanics. In order to use the ability, you need to infuse a pickaxe with furnace powers first.
  ! Changed Flux Mining mechanics. In order to use the ability, you need to infuse a pickaxe with furnace powers first.
  ! Scoreboard tips are only shown a couple of times to the player, instead of once per login session
  ! Scoreboard tips are only shown a couple of times to the player, instead of once per login session
+ ! Changed Archery distance multiplier to be configurable
 
 
 Version 1.5.01
 Version 1.5.01
  + Added new child skill; Salvage
  + Added new child skill; Salvage

+ 8 - 0
src/main/java/com/gmail/nossr50/config/experience/ExperienceConfig.java

@@ -88,6 +88,11 @@ public class ExperienceConfig extends AutoUpdateConfigLoader {
             }
             }
         }
         }
 
 
+        /* Archery */
+        if (getArcheryDistanceMultiplier() < 0) {
+            reason.add("Experience.Archery.Distance_Multiplier should be at least 0!");
+        }
+
         /* Combat XP Multipliers */
         /* Combat XP Multipliers */
         if (getAnimalsXP() < 0) {
         if (getAnimalsXP() < 0) {
             reason.add("Experience.Combat.Multiplier.Animals should be at least 0!");
             reason.add("Experience.Combat.Multiplier.Animals should be at least 0!");
@@ -213,6 +218,9 @@ public class ExperienceConfig extends AutoUpdateConfigLoader {
     /* Alchemy */
     /* Alchemy */
     public double getPotionXP(PotionStage stage) { return config.getDouble("Experience.Alchemy.Potion_Stage_" + stage.toNumerical(), 10D); }
     public double getPotionXP(PotionStage stage) { return config.getDouble("Experience.Alchemy.Potion_Stage_" + stage.toNumerical(), 10D); }
 
 
+    /* Archery */
+    public double getArcheryDistanceMultiplier() { return config.getDouble("Experience.Archery.Distance_Multiplier", 0.025); }
+
     /* Excavation */
     /* Excavation */
     public int getDirtAndSandXp(MaterialData data) {
     public int getDirtAndSandXp(MaterialData data) {
         Material type = data.getItemType();
         Material type = data.getItemType();

+ 2 - 1
src/main/java/com/gmail/nossr50/skills/archery/Archery.java

@@ -9,6 +9,7 @@ import org.bukkit.entity.LivingEntity;
 import org.bukkit.inventory.ItemStack;
 import org.bukkit.inventory.ItemStack;
 
 
 import com.gmail.nossr50.config.AdvancedConfig;
 import com.gmail.nossr50.config.AdvancedConfig;
+import com.gmail.nossr50.config.experience.ExperienceConfig;
 import com.gmail.nossr50.util.Misc;
 import com.gmail.nossr50.util.Misc;
 
 
 public class Archery {
 public class Archery {
@@ -21,7 +22,7 @@ public class Archery {
 
 
     public static double dazeBonusDamage = AdvancedConfig.getInstance().getDazeBonusDamage();
     public static double dazeBonusDamage = AdvancedConfig.getInstance().getDazeBonusDamage();
 
 
-    public static final double DISTANCE_XP_MULTIPLIER = 0.025;
+    public static final double DISTANCE_XP_MULTIPLIER = ExperienceConfig.getInstance().getArcheryDistanceMultiplier();
 
 
     protected static void incrementTrackerValue(LivingEntity livingEntity) {
     protected static void incrementTrackerValue(LivingEntity livingEntity) {
         for (TrackedEntity trackedEntity : trackedEntities) {
         for (TrackedEntity trackedEntity : trackedEntities) {

+ 2 - 0
src/main/resources/experience.yml

@@ -116,6 +116,8 @@ Experience:
         Potion_Stage_3: 60
         Potion_Stage_3: 60
         Potion_Stage_4: 120
         Potion_Stage_4: 120
         Potion_Stage_5: 0
         Potion_Stage_5: 0
+    Archery:
+        Distance_Multiplier: 0.025
     Fishing:
     Fishing:
         Raw_Fish: 800
         Raw_Fish: 800
         Raw_Salmon: 800
         Raw_Salmon: 800