diff --git a/Changelog.txt b/Changelog.txt index 8954d2744..b51191ab7 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -1,3 +1,73 @@ +Version 2.1.50 + Fixed a bug where early game XP boost (level 1-5) didn't function in certain circumstances + Updated German locale (thanks OverCrave) + Added missing Herbalism XP values for: Bamboo, Cornflower, Lily of the valley, Wither rose (thanks Zed-I) + Added missing Mining XP values for: Stone Bricks, Cracked Stone Bricks, Mossy Stone Bricks, Chiseled Stone Bricks, Prismarine Bricks, Dark Prismarine, Sea Lantern (thanks Zed-I) + Added missing Combat XP multiplier for: Wandering Trader (thanks Zed-I) + + Notes: + If you haven't upgraded mcMMO since version 2.1.47 or before you will not need to do these steps as the experience file will update once automatically. + You can either delete experience.yml to generate a new one or edit it manually + This is what the default experience.yml looks like + https://paste.gg/p/anonymous/946f62ce7dff4ab7a87cae70c0266313 + + +Version 2.1.49 + Added sweet berry bush to Herbalism XP (Update your experience.yml config or delete it to gen a new one) + Fixed a bug where falling blocks were not marked as unnatural in water + Fixed a bug where tool lower notifications were being called async when they are sync only + Fixed NPE when checking inventory location + Improved herbalism compatibility with anti-cheat (thanks LogGits) + + NOTE: This is what the default herbalism XP table looks like + https://paste.gg/p/anonymous/1022088f20cf44298870930e9bc58e8a + +Version 2.1.48 + 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_Values" + Dodge now gives 800 XP + Roll now gives 600 XP + Fall now gives 600 XP + + The first 5/50 levels of skills now give large amounts of XP so players get key early skills much faster + Note: First 5 in Standard, first 50 in Retro + + 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... + Currently this version of mcMMO will work on both 1.13 and 1.14, 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 the new stuff 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 + +Version 2.1.46 + Party member lists now show the whole party, including offline players again. + Party lists now have special markers for players who are in shared XP range + Party lists now have special markers for players who are offline + Party lists now have special markers for the party leader + Fixed an error where bleed was setting health outside minimum values + [See NOTE] Fixed a bug where Creepers and Zombies were not dropping the correct heads from Shake (thanks Zed-I) + [See NOTE] Fixed a bug where salvage was not returning the correct amount of materials for AXE items (thanks Zed-I) + [See NOTE] Added missing STRIPPED_WOOD entries to experience.yml for Woodcutting + [See NOTE] Added about 15-20 missing entries to experience.yml for coral to Herbalism + Fixed a bug where admin chat from console would fail to send (thanks OverCrave) + Reduced default XP values for DEAD_* coral plants from 30 -> 10 + Updated hu_HU locale (thanks andris155) + + NOTE: These bugfixes were related to default config values, to receive these changes you can either delete experience.yml, treasures.yml and salvage.vanilla.yml to generate new ones or make the necessary edits. + This is what the files should look like after being edited. + Experience Correct Default Config - https://paste.gg/p/anonymous/ff695df1417e4232957a3d176fd14ed4 + Salvage Correct Default Config - https://paste.gg/p/anonymous/c4eb2f4e66ed444e872021051760f3be + Treasures Correct Default Config - https://paste.gg/p/anonymous/b0120210f8c149958ca0303c68c19ebd + +Version 2.1.45 + mcMMO will now check to see if the server version is incompatible and inform server admins on how to fix the problem. + Version 2.2.0 mcMMO's config system has been rewritten Added new subskill to Fishing named 'Inner Peace' @@ -160,76 +230,6 @@ Version 2.2.0 Added API method to grab the level cap of a skill by its PrimarySkillType ENUM definition Added API method to check if a skill was being level capped -Version 2.1.50 - Fixed a bug where early game XP boost (level 1-5) didn't function in certain circumstances - Updated German locale (thanks OverCrave) - Added missing Herbalism XP values for: Bamboo, Cornflower, Lily of the valley, Wither rose (thanks Zed-I) - Added missing Mining XP values for: Stone Bricks, Cracked Stone Bricks, Mossy Stone Bricks, Chiseled Stone Bricks, Prismarine Bricks, Dark Prismarine, Sea Lantern (thanks Zed-I) - Added missing Combat XP multiplier for: Wandering Trader (thanks Zed-I) - - Notes: - If you haven't upgraded mcMMO since version 2.1.47 or before you will not need to do these steps as the experience file will update once automatically. - You can either delete experience.yml to generate a new one or edit it manually - This is what the default experience.yml looks like - https://paste.gg/p/anonymous/946f62ce7dff4ab7a87cae70c0266313 - - -Version 2.1.49 - Added sweet berry bush to Herbalism XP (Update your experience.yml config or delete it to gen a new one) - Fixed a bug where falling blocks were not marked as unnatural in water - Fixed a bug where tool lower notifications were being called async when they are sync only - Fixed NPE when checking inventory location - Improved herbalism compatibility with anti-cheat (thanks LogGits) - - NOTE: This is what the default herbalism XP table looks like - https://paste.gg/p/anonymous/1022088f20cf44298870930e9bc58e8a - -Version 2.1.48 - 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_Values" - Dodge now gives 800 XP - Roll now gives 600 XP - Fall now gives 600 XP - - The first 5/50 levels of skills now give large amounts of XP so players get key early skills much faster - Note: First 5 in Standard, first 50 in Retro - - 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... - Currently this version of mcMMO will work on both 1.13 and 1.14, 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 the new stuff 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 - -Version 2.1.46 - Party member lists now show the whole party, including offline players again. - Party lists now have special markers for players who are in shared XP range - Party lists now have special markers for players who are offline - Party lists now have special markers for the party leader - Fixed an error where bleed was setting health outside minimum values - [See NOTE] Fixed a bug where Creepers and Zombies were not dropping the correct heads from Shake (thanks Zed-I) - [See NOTE] Fixed a bug where salvage was not returning the correct amount of materials for AXE items (thanks Zed-I) - [See NOTE] Added missing STRIPPED_WOOD entries to experience.yml for Woodcutting - [See NOTE] Added about 15-20 missing entries to experience.yml for coral to Herbalism - Fixed a bug where admin chat from console would fail to send (thanks OverCrave) - Reduced default XP values for DEAD_* coral plants from 30 -> 10 - Updated hu_HU locale (thanks andris155) - - NOTE: These bugfixes were related to default config values, to receive these changes you can either delete experience.yml, treasures.yml and salvage.vanilla.yml to generate new ones or make the necessary edits. - This is what the files should look like after being edited. - Experience Correct Default Config - https://paste.gg/p/anonymous/ff695df1417e4232957a3d176fd14ed4 - Salvage Correct Default Config - https://paste.gg/p/anonymous/c4eb2f4e66ed444e872021051760f3be - Treasures Correct Default Config - https://paste.gg/p/anonymous/b0120210f8c149958ca0303c68c19ebd - -Version 2.1.45 - mcMMO will now check to see if the server version is incompatible and inform server admins on how to fix the problem. - Version 2.1.44 Fixed a NPE with Alchemy brewing diff --git a/src/main/java/com/gmail/nossr50/config/hocon/experience/ConfigExperienceCombat.java b/src/main/java/com/gmail/nossr50/config/hocon/experience/ConfigExperienceCombat.java index bbf58b2b8..536c66cb4 100644 --- a/src/main/java/com/gmail/nossr50/config/hocon/experience/ConfigExperienceCombat.java +++ b/src/main/java/com/gmail/nossr50/config/hocon/experience/ConfigExperienceCombat.java @@ -22,7 +22,6 @@ public class ConfigExperienceCombat { COMBAT_EXPERIENCE_DEFAULT.put("pillager", 2.0D); COMBAT_EXPERIENCE_DEFAULT.put("ravager", 4.0D); COMBAT_EXPERIENCE_DEFAULT.put("trader_llama", 1.0D); - COMBAT_EXPERIENCE_DEFAULT.put("wandering_trader", 1.0D); COMBAT_EXPERIENCE_DEFAULT.put("skeleton", 3.0D); COMBAT_EXPERIENCE_DEFAULT.put("spider", 2.0D); COMBAT_EXPERIENCE_DEFAULT.put("giant", 4.0D); diff --git a/src/main/java/com/gmail/nossr50/config/hocon/experience/ConfigExperienceHerbalism.java b/src/main/java/com/gmail/nossr50/config/hocon/experience/ConfigExperienceHerbalism.java index 7389b38cd..a47d86197 100644 --- a/src/main/java/com/gmail/nossr50/config/hocon/experience/ConfigExperienceHerbalism.java +++ b/src/main/java/com/gmail/nossr50/config/hocon/experience/ConfigExperienceHerbalism.java @@ -67,14 +67,12 @@ public class ConfigExperienceHerbalism { HERBALISM_EXPERIENCE_DEFAULT.put(Material.OXEYE_DAISY.getKey().toString(), 150); HERBALISM_EXPERIENCE_DEFAULT.put(Material.PEONY.getKey().toString(), 50); HERBALISM_EXPERIENCE_DEFAULT.put(Material.PINK_TULIP.getKey().toString(), 150); - HERBALISM_EXPERIENCE_DEFAULT.put(Material.LILY_OF_THE_VALLEY.getKey().toString(), 150); HERBALISM_EXPERIENCE_DEFAULT.put(Material.WHITE_TULIP.getKey().toString(), 150); HERBALISM_EXPERIENCE_DEFAULT.put(Material.POPPY.getKey().toString(), 100); HERBALISM_EXPERIENCE_DEFAULT.put(Material.DANDELION.getKey().toString(), 100); HERBALISM_EXPERIENCE_DEFAULT.put(Material.RED_TULIP.getKey().toString(), 150); HERBALISM_EXPERIENCE_DEFAULT.put(Material.ROSE_BUSH.getKey().toString(), 50); HERBALISM_EXPERIENCE_DEFAULT.put(Material.SUNFLOWER.getKey().toString(), 50); - HERBALISM_EXPERIENCE_DEFAULT.put(Material.CORNFLOWER.getKey().toString(), 50); /* WEEDS */ HERBALISM_EXPERIENCE_DEFAULT.put(Material.FERN.getKey().toString(), 10); @@ -101,13 +99,11 @@ public class ConfigExperienceHerbalism { HERBALISM_EXPERIENCE_DEFAULT.put(Material.MELON.getKey().toString(), 20); HERBALISM_EXPERIENCE_DEFAULT.put(Material.WHEAT.getKey().toString(), 50); HERBALISM_EXPERIENCE_DEFAULT.put(Material.SUGAR_CANE.getKey().toString(), 30); - HERBALISM_EXPERIENCE_DEFAULT.put(Material.BAMBOO.getKey().toString(), 20); HERBALISM_EXPERIENCE_DEFAULT.put(Material.NETHER_WART.getKey().toString(), 30); /* END PLANTS */ HERBALISM_EXPERIENCE_DEFAULT.put(Material.CHORUS_PLANT.getKey().toString(), 1); HERBALISM_EXPERIENCE_DEFAULT.put(Material.CHORUS_FLOWER.getKey().toString(), 25); - HERBALISM_EXPERIENCE_DEFAULT.put(Material.WITHER_ROSE.getKey().toString(), 500); } @Setting(value = "Herbalism-Experience") diff --git a/src/main/java/com/gmail/nossr50/config/hocon/experience/ConfigExperienceMining.java b/src/main/java/com/gmail/nossr50/config/hocon/experience/ConfigExperienceMining.java index 106a60739..49d9ee1e2 100644 --- a/src/main/java/com/gmail/nossr50/config/hocon/experience/ConfigExperienceMining.java +++ b/src/main/java/com/gmail/nossr50/config/hocon/experience/ConfigExperienceMining.java @@ -20,7 +20,6 @@ public class ConfigExperienceMining { MINING_EXPERIENCE_DEFAULT.put(Material.BUBBLE_CORAL_BLOCK.getKey().toString(), 70); MINING_EXPERIENCE_DEFAULT.put(Material.FIRE_CORAL_BLOCK.getKey().toString(), 90); MINING_EXPERIENCE_DEFAULT.put(Material.HORN_CORAL_BLOCK.getKey().toString(), 125); - MINING_EXPERIENCE_DEFAULT.put(Material.SEA_LANTERN.getKey().toString(), 70); MINING_EXPERIENCE_DEFAULT.put(Material.PRISMARINE.getKey().toString(), 30); MINING_EXPERIENCE_DEFAULT.put(Material.PRISMARINE_BRICK_SLAB.getKey().toString(), 30); MINING_EXPERIENCE_DEFAULT.put(Material.PRISMARINE_BRICK_STAIRS.getKey().toString(), 30); diff --git a/src/main/java/com/gmail/nossr50/listeners/SelfListener.java b/src/main/java/com/gmail/nossr50/listeners/SelfListener.java index b7f1e3c83..acff5c282 100644 --- a/src/main/java/com/gmail/nossr50/listeners/SelfListener.java +++ b/src/main/java/com/gmail/nossr50/listeners/SelfListener.java @@ -71,11 +71,11 @@ public class SelfListener implements Listener { McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player); PrimarySkillType primarySkillType = event.getSkill(); + //WorldGuard XP Check if (event.getXpGainReason() == XPGainReason.PVE || event.getXpGainReason() == XPGainReason.PVP || event.getXpGainReason() == XPGainReason.SHARED_PVE || event.getXpGainReason() == XPGainReason.SHARED_PVP) { - //WorldGuard XP Check if (WorldGuardUtils.isWorldGuardLoaded()) { if (!WorldGuardManager.getInstance().hasXPFlag(player)) { event.setRawXpGained(0); diff --git a/src/main/java/com/gmail/nossr50/util/MaterialMapStore.java b/src/main/java/com/gmail/nossr50/util/MaterialMapStore.java index 409b3bfc4..0b9278735 100644 --- a/src/main/java/com/gmail/nossr50/util/MaterialMapStore.java +++ b/src/main/java/com/gmail/nossr50/util/MaterialMapStore.java @@ -7,8 +7,9 @@ import java.util.HashSet; /** * Stores hash tables for item and block names * This allows for better support across multiple versions of Minecraft - *

+ * * This is a temporary class, mcMMO is spaghetti and I'l clean it up later + * */ public class MaterialMapStore { @@ -21,7 +22,8 @@ public class MaterialMapStore { private HashSet canMakeShroomyWhiteList; private HashSet multiBlockEntities; - public MaterialMapStore() { + public MaterialMapStore() + { abilityBlackList = new HashSet<>(); toolBlackList = new HashSet<>(); mossyWhiteList = new HashSet<>(); @@ -34,39 +36,48 @@ public class MaterialMapStore { fillHardcodedHashSets(); } - public boolean isMultiBlock(Material material) { + public boolean isMultiBlock(Material material) + { return multiBlockEntities.contains(material.getKey().getKey()); } - public boolean isAbilityActivationBlackListed(Material material) { + public boolean isAbilityActivationBlackListed(Material material) + { return abilityBlackList.contains(material.getKey().getKey()); } - public boolean isToolActivationBlackListed(Material material) { + public boolean isToolActivationBlackListed(Material material) + { return toolBlackList.contains(material.getKey().getKey()); } - public boolean isMossyWhiteListed(Material material) { + public boolean isMossyWhiteListed(Material material) + { return mossyWhiteList.contains(material.getKey().getKey()); } - public boolean isLeavesWhiteListed(Material material) { + public boolean isLeavesWhiteListed(Material material) + { return leavesWhiteList.contains(material.getKey().getKey()); } - public boolean isHerbalismAbilityWhiteListed(Material material) { + public boolean isHerbalismAbilityWhiteListed(Material material) + { return herbalismAbilityBlackList.contains(material.getKey().getKey()); } - public boolean isBlockCrackerWhiteListed(Material material) { + public boolean isBlockCrackerWhiteListed(Material material) + { return blockCrackerWhiteList.contains(material.getKey().getKey()); } - public boolean isShroomyWhiteListed(Material material) { + public boolean isShroomyWhiteListed(Material material) + { return canMakeShroomyWhiteList.contains(material.getKey().getKey()); } - private void fillHardcodedHashSets() { + private void fillHardcodedHashSets() + { fillAbilityBlackList(); filltoolBlackList(); fillMossyWhiteList(); @@ -77,7 +88,8 @@ public class MaterialMapStore { fillMultiBlockEntitiesList(); } - private void fillMultiBlockEntitiesList() { + private void fillMultiBlockEntitiesList() + { multiBlockEntities.add("cactus"); multiBlockEntities.add("chorus_plant"); multiBlockEntities.add("sugar_cane"); @@ -88,24 +100,28 @@ public class MaterialMapStore { multiBlockEntities.add("bamboo"); } - private void fillShroomyWhiteList() { + private void fillShroomyWhiteList() + { canMakeShroomyWhiteList.add("dirt"); canMakeShroomyWhiteList.add("grass"); canMakeShroomyWhiteList.add("grass_path"); } - private void fillBlockCrackerWhiteList() { + private void fillBlockCrackerWhiteList() + { blockCrackerWhiteList.add("stone_bricks"); } - private void fillHerbalismAbilityBlackList() { + private void fillHerbalismAbilityBlackList() + { herbalismAbilityBlackList.add("dirt"); herbalismAbilityBlackList.add("grass"); herbalismAbilityBlackList.add("grass_path"); herbalismAbilityBlackList.add("farmland"); } - private void fillLeavesWhiteList() { + private void fillLeavesWhiteList() + { leavesWhiteList.add("oak_leaves"); leavesWhiteList.add("acacia_leaves"); leavesWhiteList.add("birch_leaves"); @@ -114,7 +130,8 @@ public class MaterialMapStore { leavesWhiteList.add("spruce_leaves"); } - private void fillMossyWhiteList() { + private void fillMossyWhiteList() + { mossyWhiteList.add("cobblestone"); mossyWhiteList.add("dirt"); mossyWhiteList.add("grass_path"); @@ -122,7 +139,8 @@ public class MaterialMapStore { mossyWhiteList.add("cobblestone_wall"); } - private void fillAbilityBlackList() { + private void fillAbilityBlackList() + { abilityBlackList.add("black_bed"); abilityBlackList.add("blue_bed"); abilityBlackList.add("brown_bed"); @@ -221,8 +239,9 @@ public class MaterialMapStore { abilityBlackList.add("wall_sign"); //1.13 and lower? abilityBlackList.add("sign"); //1.13 and lower? } - - private void filltoolBlackList() { + + private void filltoolBlackList() + { //TODO: Add anvils / missing logs toolBlackList.add("black_bed"); toolBlackList.add("blue_bed"); @@ -345,7 +364,8 @@ public class MaterialMapStore { toolBlackList.add("spruce_wood"); } - private void addToHashSet(String string, HashSet stringHashSet) { + private void addToHashSet(String string, HashSet stringHashSet) + { stringHashSet.add(string.toLowerCase()); } }