Explorar el Código

Experience settings for 114 are now under Experience_114 in experience.yml

nossr50 hace 6 años
padre
commit
372ad1fac3

+ 18 - 10
Changelog.txt

@@ -1,14 +1,22 @@
-Changelog:
-Versions without changelogs probably had very small misc fixes, like tweaks to the source code
-
-Key:
-  + Addition
-  = Fix
-  ! Change
-  - Removal
-
 Version 2.1.48
 Version 2.1.48
-    1.14 Support
+    (1.14 Only)
+        1.14 Support
+        Added Cats, Foxes, and Pandas to Taming XP rewards
+        Added Cats, Foxes, Pandas, Trader Llamas, Pillagers, and Ravagers to Combat XP rewards
+        "Experience" section of experience.yml has been renamed to "Experience_114"
+
+    Dodge now gives 800 XP
+    Roll now gives 600 XP
+    Fall now gives 600 XP
+
+    Dev Notes:
+    I will be making a write up soon explaining near future plans for mcMMO and what is going on with the config update, abstraction update, etc...
+    Due to some changes in 1.14, you will not be able to play the 1.14 version of mcMMO on a 1.13 server
+    I plan to support 1.13 for the time being, in the abstraction update I will expand compatible versions of mcMMO to include: 1.14 / 1.13.2 / 1.12.2 / 1.8.8 / Sponge 1.14
+    It is not necessary to update your configs if you are upgrading from 1.13 -> 1.14, however if you had custom XP values in your experience.yml you will want to update your config.
+    Acrobatics XP was buffed since many AFK counter-measures were put into place to prevent repetitive grinding.
+    Experience node in experience.yml was renamed to "automatically" update configs for 1.14
+    There are 4 updates planned for mcMMO, including a patreon rewards update, a large content update, a config update, and backwards compatibility for 1.13/1.12/1.8.8 and support for Sponge
 
 
 Version 2.1.47
 Version 2.1.47
     Fix NPE when party leader is offline and players grab a party list
     Fix NPE when party leader is offline and players grab a party list

+ 27 - 26
src/main/java/com/gmail/nossr50/config/experience/ExperienceConfig.java

@@ -87,18 +87,18 @@ public class ExperienceConfig extends AutoUpdateConfigLoader {
         /* Alchemy */
         /* Alchemy */
         for (PotionStage potionStage : PotionStage.values()) {
         for (PotionStage potionStage : PotionStage.values()) {
             if (getPotionXP(potionStage) < 0) {
             if (getPotionXP(potionStage) < 0) {
-                reason.add("Experience.Alchemy.Potion_Stage_" + potionStage.toNumerical() + " should be at least 0!");
+                reason.add("Experience_114.Alchemy.Potion_Stage_" + potionStage.toNumerical() + " should be at least 0!");
             }
             }
         }
         }
 
 
         /* Archery */
         /* Archery */
         if (getArcheryDistanceMultiplier() < 0) {
         if (getArcheryDistanceMultiplier() < 0) {
-            reason.add("Experience.Archery.Distance_Multiplier should be at least 0!");
+            reason.add("Experience_114.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_114.Combat.Multiplier.Animals should be at least 0!");
         }
         }
 
 
         if (getDodgeXPModifier() < 0) {
         if (getDodgeXPModifier() < 0) {
@@ -117,21 +117,21 @@ public class ExperienceConfig extends AutoUpdateConfigLoader {
         // TODO: Add validation for each fish type once enum is available.
         // TODO: Add validation for each fish type once enum is available.
 
 
         if (getFishingShakeXP() <= 0) {
         if (getFishingShakeXP() <= 0) {
-            reason.add("Experience.Fishing.Shake should be greater than 0!");
+            reason.add("Experience_114.Fishing.Shake should be greater than 0!");
         }
         }
 
 
         /* Repair */
         /* Repair */
         if (getRepairXPBase() <= 0) {
         if (getRepairXPBase() <= 0) {
-            reason.add("Experience.Repair.Base should be greater than 0!");
+            reason.add("Experience_114.Repair.Base should be greater than 0!");
         }
         }
 
 
         /* Taming */
         /* Taming */
         if (getTamingXP(EntityType.WOLF) <= 0) {
         if (getTamingXP(EntityType.WOLF) <= 0) {
-            reason.add("Experience.Taming.Animal_Taming.Wolf should be greater than 0!");
+            reason.add("Experience_114.Taming.Animal_Taming.Wolf should be greater than 0!");
         }
         }
 
 
         if (getTamingXP(EntityType.OCELOT) <= 0) {
         if (getTamingXP(EntityType.OCELOT) <= 0) {
-            reason.add("Experience.Taming.Animal_Taming.Ocelot should be greater than 0!");
+            reason.add("Experience_114.Taming.Animal_Taming.Ocelot should be greater than 0!");
         }
         }
 
 
         return noErrorsInConfig(reason);
         return noErrorsInConfig(reason);
@@ -143,6 +143,7 @@ public class ExperienceConfig extends AutoUpdateConfigLoader {
 
 
     /* EXPLOIT TOGGLES */
     /* EXPLOIT TOGGLES */
     public boolean isEndermanEndermiteFarmingPrevented() { return config.getBoolean("ExploitFix.EndermanEndermiteFarms", true); }
     public boolean isEndermanEndermiteFarmingPrevented() { return config.getBoolean("ExploitFix.EndermanEndermiteFarms", true); }
+    public boolean isPistonExploitPrevented() { return config.getBoolean("ExploitFix.Pistons", false); }
 
 
     public boolean isFishingExploitingPrevented() { return config.getBoolean("ExploitFix.Fishing", true); }
     public boolean isFishingExploitingPrevented() { return config.getBoolean("ExploitFix.Fishing", true); }
     public boolean isAcrobaticsExploitingPrevented() { return config.getBoolean("ExploitFix.Acrobatics", true); }
     public boolean isAcrobaticsExploitingPrevented() { return config.getBoolean("ExploitFix.Acrobatics", true); }
@@ -187,18 +188,18 @@ public class ExperienceConfig extends AutoUpdateConfigLoader {
      */
      */
 
 
     /* General Settings */
     /* General Settings */
-    public boolean getExperienceGainsPlayerVersusPlayerEnabled() { return config.getBoolean("Experience.PVP.Rewards", true); }
+    public boolean getExperienceGainsPlayerVersusPlayerEnabled() { return config.getBoolean("Experience_114.PVP.Rewards", true); }
 
 
     /* Combat XP Multipliers */
     /* Combat XP Multipliers */
-    public double getCombatXP(EntityType entity) { return config.getDouble("Experience.Combat.Multiplier." + StringUtils.getPrettyEntityTypeString(entity).replace(" ", "_")); }
-    public double getAnimalsXP(EntityType entity) { return config.getDouble("Experience.Combat.Multiplier." + StringUtils.getPrettyEntityTypeString(entity).replace(" ", "_"), getAnimalsXP()); }
-    public double getAnimalsXP() { return config.getDouble("Experience.Combat.Multiplier.Animals", 1.0); }
-    public boolean hasCombatXP(EntityType entity) {return config.contains("Experience.Combat.Multiplier." + StringUtils.getPrettyEntityTypeString(entity).replace(" ", "_")); }
+    public double getCombatXP(EntityType entity) { return config.getDouble("Experience_114.Combat.Multiplier." + StringUtils.getPrettyEntityTypeString(entity).replace(" ", "_")); }
+    public double getAnimalsXP(EntityType entity) { return config.getDouble("Experience_114.Combat.Multiplier." + StringUtils.getPrettyEntityTypeString(entity).replace(" ", "_"), getAnimalsXP()); }
+    public double getAnimalsXP() { return config.getDouble("Experience_114.Combat.Multiplier.Animals", 1.0); }
+    public boolean hasCombatXP(EntityType entity) {return config.contains("Experience_114.Combat.Multiplier." + StringUtils.getPrettyEntityTypeString(entity).replace(" ", "_")); }
 
 
     /* Materials  */
     /* Materials  */
     public int getXp(PrimarySkillType skill, Material data)
     public int getXp(PrimarySkillType skill, Material data)
     {
     {
-        String baseString = "Experience." + StringUtils.getCapitalized(skill.toString()) + ".";
+        String baseString = "Experience_114." + StringUtils.getCapitalized(skill.toString()) + ".";
         String explicitString = baseString + StringUtils.getExplicitConfigMaterialString(data);
         String explicitString = baseString + StringUtils.getExplicitConfigMaterialString(data);
         if (config.contains(explicitString))
         if (config.contains(explicitString))
             return config.getInt(explicitString);
             return config.getInt(explicitString);
@@ -214,7 +215,7 @@ public class ExperienceConfig extends AutoUpdateConfigLoader {
     /* Materials  */
     /* Materials  */
     public int getXp(PrimarySkillType skill, BlockData data)
     public int getXp(PrimarySkillType skill, BlockData data)
     {
     {
-        String baseString = "Experience." + StringUtils.getCapitalized(skill.toString()) + ".";
+        String baseString = "Experience_114." + StringUtils.getCapitalized(skill.toString()) + ".";
         String explicitString = baseString + StringUtils.getExplicitConfigBlockDataString(data);
         String explicitString = baseString + StringUtils.getExplicitConfigBlockDataString(data);
         if (config.contains(explicitString))
         if (config.contains(explicitString))
             return config.getInt(explicitString);
             return config.getInt(explicitString);
@@ -229,7 +230,7 @@ public class ExperienceConfig extends AutoUpdateConfigLoader {
 
 
     public boolean doesBlockGiveSkillXP(PrimarySkillType skill, Material data)
     public boolean doesBlockGiveSkillXP(PrimarySkillType skill, Material data)
     {
     {
-        String baseString = "Experience." + StringUtils.getCapitalized(skill.toString()) + ".";
+        String baseString = "Experience_114." + StringUtils.getCapitalized(skill.toString()) + ".";
         String explicitString = baseString + StringUtils.getExplicitConfigMaterialString(data);
         String explicitString = baseString + StringUtils.getExplicitConfigMaterialString(data);
         if (config.contains(explicitString))
         if (config.contains(explicitString))
             return true;
             return true;
@@ -242,7 +243,7 @@ public class ExperienceConfig extends AutoUpdateConfigLoader {
 
 
     public boolean doesBlockGiveSkillXP(PrimarySkillType skill, BlockData data)
     public boolean doesBlockGiveSkillXP(PrimarySkillType skill, BlockData data)
     {
     {
-        String baseString = "Experience." + StringUtils.getCapitalized(skill.toString()) + ".";
+        String baseString = "Experience_114." + StringUtils.getCapitalized(skill.toString()) + ".";
         String explicitString = baseString + StringUtils.getExplicitConfigBlockDataString(data);
         String explicitString = baseString + StringUtils.getExplicitConfigBlockDataString(data);
         if (config.contains(explicitString))
         if (config.contains(explicitString))
             return true;
             return true;
@@ -305,27 +306,27 @@ public class ExperienceConfig extends AutoUpdateConfigLoader {
     }
     }
 
 
     /* Acrobatics */
     /* Acrobatics */
-    public int getDodgeXPModifier() { return config.getInt("Experience.Acrobatics.Dodge", 120); }
-    public int getRollXPModifier() { return config.getInt("Experience.Acrobatics.Roll", 80); }
-    public int getFallXPModifier() { return config.getInt("Experience.Acrobatics.Fall", 120); }
+    public int getDodgeXPModifier() { return config.getInt("Experience_114.Acrobatics.Dodge", 120); }
+    public int getRollXPModifier() { return config.getInt("Experience_114.Acrobatics.Roll", 80); }
+    public int getFallXPModifier() { return config.getInt("Experience_114.Acrobatics.Fall", 120); }
 
 
-    public double getFeatherFallXPModifier() { return config.getDouble("Experience.Acrobatics.FeatherFall_Multiplier", 2.0); }
+    public double getFeatherFallXPModifier() { return config.getDouble("Experience_114.Acrobatics.FeatherFall_Multiplier", 2.0); }
 
 
     /* 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_114.Alchemy.Potion_Stage_" + stage.toNumerical(), 10D); }
 
 
     /* Archery */
     /* Archery */
-    public double getArcheryDistanceMultiplier() { return config.getDouble("Experience.Archery.Distance_Multiplier", 0.025); }
+    public double getArcheryDistanceMultiplier() { return config.getDouble("Experience_114.Archery.Distance_Multiplier", 0.025); }
 
 
-    public int getFishingShakeXP() { return config.getInt("Experience.Fishing.Shake", 50); }
+    public int getFishingShakeXP() { return config.getInt("Experience_114.Fishing.Shake", 50); }
 
 
     /* Repair */
     /* Repair */
-    public double getRepairXPBase() { return config.getDouble("Experience.Repair.Base", 1000.0); }
-    public double getRepairXP(MaterialType repairMaterialType) { return config.getDouble("Experience.Repair." + StringUtils.getCapitalized(repairMaterialType.toString())); }
+    public double getRepairXPBase() { return config.getDouble("Experience_114.Repair.Base", 1000.0); }
+    public double getRepairXP(MaterialType repairMaterialType) { return config.getDouble("Experience_114.Repair." + StringUtils.getCapitalized(repairMaterialType.toString())); }
 
 
     /* Taming */
     /* Taming */
     public int getTamingXP(EntityType type)
     public int getTamingXP(EntityType type)
     {
     {
-        return config.getInt("Experience.Taming.Animal_Taming." + StringUtils.getPrettyEntityTypeString(type));
+        return config.getInt("Experience_114.Taming.Animal_Taming." + StringUtils.getPrettyEntityTypeString(type));
     }
     }
 }
 }

+ 14 - 4
src/main/resources/experience.yml

@@ -196,13 +196,13 @@ Conversion:
 #
 #
 #  Settings for XP distribution
 #  Settings for XP distribution
 ###
 ###
-Experience:
+Experience_114:
     PVP:
     PVP:
         Rewards: true
         Rewards: true
     Acrobatics:
     Acrobatics:
-        Dodge: 120
-        Roll: 80
-        Fall: 120
+        Dodge: 800
+        Roll: 600
+        Fall: 600
 
 
         # FeatherFall_Multiplier: Multiply Acrobatics XP by this value when wearing boots with the Feather Fall enchant
         # FeatherFall_Multiplier: Multiply Acrobatics XP by this value when wearing boots with the Feather Fall enchant
         FeatherFall_Multiplier: 2.0
         FeatherFall_Multiplier: 2.0
@@ -418,6 +418,9 @@ Experience:
             Skeleton_Horse: 1000
             Skeleton_Horse: 1000
             Zombie_Horse: 1000
             Zombie_Horse: 1000
             Parrot: 1100
             Parrot: 1100
+            Cat: 500
+            Fox: 1000
+            Panda: 1000
     Combat:
     Combat:
         Multiplier:
         Multiplier:
             Animals: 1.0
             Animals: 1.0
@@ -472,3 +475,10 @@ Experience:
             Drowned: 1.0
             Drowned: 1.0
             Dolphin: 1.3
             Dolphin: 1.3
             Phantom: 4.0
             Phantom: 4.0
+            Cat: 1.0
+            Fox: 1.0
+            Panda: 1.0
+            Pillager: 2.0
+            Ravager: 4.0
+            Trader_Llama: 1.0
+