mirror of
				https://github.com/mcMMO-Dev/mcMMO.git
				synced 2025-10-31 01:03:44 +01:00 
			
		
		
		
	Experience settings for 114 are now under Experience_114 in experience.yml
This commit is contained in:
		| @@ -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 | ||||
|     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 | ||||
|     Fix NPE when party leader is offline and players grab a party list | ||||
|   | ||||
| @@ -87,18 +87,18 @@ public class ExperienceConfig extends AutoUpdateConfigLoader { | ||||
|         /* Alchemy */ | ||||
|         for (PotionStage potionStage : PotionStage.values()) { | ||||
|             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 */ | ||||
|         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 */ | ||||
|         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) { | ||||
| @@ -117,21 +117,21 @@ public class ExperienceConfig extends AutoUpdateConfigLoader { | ||||
|         // TODO: Add validation for each fish type once enum is available. | ||||
|  | ||||
|         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 */ | ||||
|         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 */ | ||||
|         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) { | ||||
|             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); | ||||
| @@ -143,6 +143,7 @@ public class ExperienceConfig extends AutoUpdateConfigLoader { | ||||
|  | ||||
|     /* EXPLOIT TOGGLES */ | ||||
|     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 isAcrobaticsExploitingPrevented() { return config.getBoolean("ExploitFix.Acrobatics", true); } | ||||
| @@ -187,18 +188,18 @@ public class ExperienceConfig extends AutoUpdateConfigLoader { | ||||
|      */ | ||||
|  | ||||
|     /* 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 */ | ||||
|     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  */ | ||||
|     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); | ||||
|         if (config.contains(explicitString)) | ||||
|             return config.getInt(explicitString); | ||||
| @@ -214,7 +215,7 @@ public class ExperienceConfig extends AutoUpdateConfigLoader { | ||||
|     /* Materials  */ | ||||
|     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); | ||||
|         if (config.contains(explicitString)) | ||||
|             return config.getInt(explicitString); | ||||
| @@ -229,7 +230,7 @@ public class ExperienceConfig extends AutoUpdateConfigLoader { | ||||
|  | ||||
|     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); | ||||
|         if (config.contains(explicitString)) | ||||
|             return true; | ||||
| @@ -242,7 +243,7 @@ public class ExperienceConfig extends AutoUpdateConfigLoader { | ||||
|  | ||||
|     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); | ||||
|         if (config.contains(explicitString)) | ||||
|             return true; | ||||
| @@ -305,27 +306,27 @@ public class ExperienceConfig extends AutoUpdateConfigLoader { | ||||
|     } | ||||
|  | ||||
|     /* 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 */ | ||||
|     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 */ | ||||
|     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 */ | ||||
|     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 */ | ||||
|     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)); | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -196,13 +196,13 @@ Conversion: | ||||
| # | ||||
| #  Settings for XP distribution | ||||
| ### | ||||
| Experience: | ||||
| Experience_114: | ||||
|     PVP: | ||||
|         Rewards: true | ||||
|     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: 2.0 | ||||
| @@ -418,6 +418,9 @@ Experience: | ||||
|             Skeleton_Horse: 1000 | ||||
|             Zombie_Horse: 1000 | ||||
|             Parrot: 1100 | ||||
|             Cat: 500 | ||||
|             Fox: 1000 | ||||
|             Panda: 1000 | ||||
|     Combat: | ||||
|         Multiplier: | ||||
|             Animals: 1.0 | ||||
| @@ -472,3 +475,10 @@ Experience: | ||||
|             Drowned: 1.0 | ||||
|             Dolphin: 1.3 | ||||
|             Phantom: 4.0 | ||||
|             Cat: 1.0 | ||||
|             Fox: 1.0 | ||||
|             Panda: 1.0 | ||||
|             Pillager: 2.0 | ||||
|             Ravager: 4.0 | ||||
|             Trader_Llama: 1.0 | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 nossr50
					nossr50