[Official] mcMMO - Original Author Returns! icon

[Official] mcMMO - Original Author Returns! -----

Bigger, and Better! The original developer is back!




  • Fixed bug where block checks at world height would throw
  • IndexOutOfBounds exceptions
  • Added Eyeblossom to experience.yml for Herbalism xp
  • Added Bonus_Drops.Herbalism.Eyeblossom to config.yml to enable double/triple drops for Eyeblossom
  • Added Pale_Hanging_Moss to experience.yml for Herbalism xp
  • Added Pale_Moss_Block to experience.yml for Herbalism xp
  • Added Pale_Moss_Carpet to experience.yml for Herbalism xp
  • Added Pale_Oak_Log to experience.yml for Woodcutting xp
  • Added Pale_Oak_Wood to experience.yml for Woodcutting xp
  • Added Stripped_Pale_Oak_Log to experience.yml for Woodcutting xp
  • Added Stripped_Pale_Oak_Wood to experience.yml for Woodcutting xp
  • Added Bonus_Drops.Woodcutting.Pale_Oak_Wood to config.yml to enable double/triple drops for Pale Oak Wood
  • Added Bonus_Drops.Woodcutting.Pale_Oak_Log to config.yml to enable double/triple drops for Pale Oak Log
  • Temporarily disabled the party item share functionality until it is fixed or potentially removed (see notes)

    Notes:
    This update adds support for the new stuff added by the "The Garden Awakens" Minecraft Update
    I noticed some issues with the party item share feature, so I've temporarily disabled it until those issues are addressed.
    I'm not even sure people like or dislike this feature, I'm personally not a fan.. I'd like to hear what you guys think, let me know on discord.
----------, Dec 14, 2024

  • Fixed stack overflow during ChunkUnloadEvent
  • Fixed a bug where you had to wait to summon another COTW summon if one or more of them had died or otherwise expired before their time limit
  • McMMOItemSpawnEvent#setItemStack being ignored (thanks galacticwarrior9)
  • (API) Added McMMOPlayerMasterAnglerEvent (thanks bobcat4848)
----------, Nov 17, 2024

  • Added Tridents / Crossbows to salvage.vanilla.yml config (see notes)
  • Fixed an issue where Folia could have all of its threads lock up effectively killing the server
  • Fixed concurrency issue with Folia regarding locale strings
  • Fixed concurrency issue with Folia regarding COTW summons
  • Updated 'Salvage.SubSkill.ScrapCollector.Stat' to no longer mention luck being involved
  • The amount of materials from salvage are no longer luck-based, you will get a deterministic amount based on damage to the item.
  • Fixed Ricocheted arrows losing some data after a ricochet
  • Changed color of locale strings for 'Repair.Listener.Anvil' to be easier to read
  • Changed color of locale strings for 'Salvage.Listener.Anvil' to be easier to read

NOTES:
  • Tridents and Crossbows are now in the salvage.vanilla.yml config, you will need to either delete this config file to regenerate it or add the entries manually.
  • You can check the default config file after running this mcMMO update at least once in the defaults folder at plugins\mcMMO\defaults to see what you would need to add if you want to take the manual approach
----------, Nov 10, 2024

  • Fixed NullPointerException on ChunkUnloadEvent
----------, Nov 8, 2024

  • Fixed NullPointerException spam when processing XP for child skills
----------, Nov 6, 2024

  • Fixed errors when Fishing or using Shake ability
  • Significant optimizations made to reading new chunks for mcMMO
  • Significant optimizations to most block interactions in mcMMO code
  • Fixed a horrendous edge case where Tree Feller could cause a lot of lag

Notes:
Part of this update focused on optimization, there's improvements of around 30% in CPU time for most code involving block interactions in mcMMO, which happens to be most code in mcMMO.
One of the optimizations made in this update removes an edge case where Tree Feller could cause a lot of lag, but the optimizations really are across the board in regards to any abilities that interact with blocks.
----------, Nov 5, 2024

  • Compatibility with Minecraft 1.21.3
  • (API) add causingPlayer to McMMOReplaceVanillaTreasureEvent and update Fish Event to use it (thanks bobcat4848 and Jacob Cuomo)

Notes:
Tested this version of mcMMO against 1.21.3, 1.21.1, and 1.19.4, which should be full coverage for all the changes, but it is possible you will run into things I didn't catch.
Please report any errors or bugs on our GitHub issues page if you find them.
----------, Nov 1, 2024

  • Fixed a bug where Roll was always reducing damage (thanks Ineusia)
  • Fix COTW errors on older versions (thanks Warriorrrr)
  • Fixed slimes spawning from slime division not inheriting tags. (thanks Ineusia)
----------, Sep 28, 2024

  • Fixed issue where Roll wasn't reducing as much damage as it should have been (thanks Ineusia)
  • Updated locale_es (thanks Devilcasters)
  • Updated locale_lt_LT (thanks tautuxs)
----------, Sep 20, 2024

  • (Codebase) Reworked Roll implementation (See notes)
  • (Codebase) Added unit test coverage for Roll
  • Fixed Alchemy error spam in mcMMO potion matching logic (see notes)
  • Fixed Alchemy NPE when brewing finishes
  • Fixed a bug where Roll was modifying damage unnecessarily
  • Fixed blast mining trying to drop non-items (thanks IAISI)

NOTES:
I'll need to rework Alchemy config logic a bit further to address some issues I've found, for now mcMMO will ignore harmless matching errors in the potion matching logic.
The code for Roll was a bit of a mess, I've rewritten a good chunk of it and added some unit test coverage.
I will likely put out another update for Acrobatics in general, as the code for Acrobatics is whack.
This would be a good time to suggest changes to Acrobatics on discord.
----------, Sep 14, 2024

  • Optimized Alchemy code (thanks MrPowerGamerBR)
  • Fixed an exception that could occur when shooting entities through worlds (thanks Wariorrrr)
  • Fixes to en_US locale (thanks BlockMasters617)
  • Maces, Crossbows, and Tridents skill commands don't warn you that they are work in progress anymore.
  • Fixed IllegalArgumentException when Rupture would trigger on an entity with illegal state

NOTES:
Maces, Crossbows, and Tridents are still in development, the change to remove the message from the skill command was to reduce the visual noise.
----------, Aug 31, 2024

  • Fixed a probability bug where certain skills would max out in chance to succeed well before they were supposed to (such as Dodge)
  • Blast Mining will no longer drop mob spawners (see notes)
  • (Codebase) Added more unit tests for Probability and RNG
  • The Herbalism XP gained when breaking certain plants that can grow unnaturally tall vertically (bamboo, kelp) is now capped to the most it could give when naturally grown, this can be disabled in experience.yml
  • Added 'ExploitFix.LimitTallPlantFarming' to experience.yml

    NOTES:
    This probability bug was a big oopsie and showed a gap in unit test coverage, I've added that coverage and a bug like this in theory shouldn't happen again.
    In a future version I will add configuration for admins to control what blocks are not allowed to be dropped by blast mining.
    A setting has been added to disable player-created super tall plants from giving full XP, this is on by default, you can tun it off in experience.yml via 'ExploitFix.LimitTallPlantFarming'
----------, Jul 27, 2024

  • Fixed a bug with default Mace permissions (thanks SrBedrock)
  • Fixed Blast Mining being almost completely broken
  • Reworked Blast Mining to drop non-mining related blocks too
  • Reworked Blast Mining to use your pickaxe when determining drops (will apply Silk Touch)
  • Fixed shift-clicking ingredients into the brewing stand not working on older versions of Minecraft
  • Added a setting in advanced.yml to ignore attack cooldowns (see notes)
  • Updated zh_CN locale (thanks libook)
  • Updated pt_BR locale (thanks JesusRuescas)
  • Updated fr locale (thanks Ted-18)

NOTES:
If Mace skills weren't working for your players before and you were scratching your head wondering why, this should fix it (thanks SrBedrock).
Skills.General.Attack_Cooldown.Adjust_Skills_For_Attack_Cooldown is a new setting in advanced.yml that will allow you to ignore attack cooldowns for the combat skills.
When a player spams an attack, have a reduced amount of bonus damage from mcMMO and reduced chance for chance-on-hit subskills to activate.
You can have mcMMO ignore this value and apply full bonus damage and full chance to proc abilities by setting this to false.
----------, Jul 14, 2024

  • (SQL) Fixed a bug where skill cooldowns were being loaded for players incorrectly
----------, Jul 10, 2024

  • Added Maces skill
  • Added Mace to repair.vanilla.yml (see notes)
  • Fixed a bug where spamming attacks would still apply full bonus dmg and full chance to proc abilities (see notes)
  • Fixed some misc missing permissions for crossbows/tridents

NOTES:
You shouldn't need to update repair.vanilla.yml, it should update automatically
Maces is a new skill that is in early development, feedback is appreciated.
Some ideas I had for the Maces are on hold as they are lacking proper API from Spigot.
This is mostly pertaining to smash attacks, I had some ideas for enhancing them but without the proper API I will hold off for now.
While working on Maces, I noticed a bug where spamming attacks would still apply full bonus damage and full chance to proc abilities, this has been fixed.
When you swing your weapon in Minecraft, you gain an "Attack Strength" value, which is relative to your cooldown, mcMMO was supposed to be making use of this value, but at some point in the past this was broken.
I have fixed this and now mcMMO will use the attack strength value to determine the bonus damage and chance to proc abilities.
For servers modifying Minecraft combat to not have this "cooldown", mcMMO should behave as you would expect, with full damage and full chance to proc abilities even when spamming attacks.
----------, Jun 30, 2024

  • Fixed a bug where Luck Of The Sea was being applied for Super Breaker (and other abilities)
----------, Jun 29, 2024

  • Added Breeze to experience.yml
  • Added Bogged to experience.yml
  • (Locale) Updates to zh_TW (thanks chunkiuu)
  • (Locale) Updates to zh_CN (thanks haha44444)
  • Modified the RNG for dropping non-ore blocks from Blast Mining to yield about 50% of what was destroyed
  • (API) Deprecated com.gmail.nossr50.mcMMO.getPlaceStore
  • (API) Added com.gmail.nossr50.mcMMO.getUserBlockTracker
  • (API) Added com.gmail.nossr50.mcMMO.getChunkManager
  • (API) Added new methods to com.gmail.nossr50.util.blockmeta.UserBlockTracker for easier readability
  • (API) Deprecated many poorly named methods in UserBlockTracker (see notes)
  • (Codebase) Cleaned up and organized unit tests relating to UserBlockTracker
  • Added missing entries for Tridents/Xbows/Maces to config.yml (see notes)

NOTES:
Some settings such as Hardcore.Death_Stat_Loss.Enabled were missing entries for the new skills, I have added them to the default config.
Missing entries does not mean these things wouldn't work without them present, as default values will be used when config entries are not present.
These missing entries should be added to your config upon start up with this update.
Regarding the API changes, not planning to delete the deprecated methods in UserBlockTracker anytime soon, as nothing has really changed other than the names.
For anyone consuming mcMMO API, I would still recommend switching off these deprecated methods as soon as you can, just for future-proofing.
----------, Jun 22, 2024

  • Fixed a bug where Daze would cause an exception in older game versions (1.20.4 and older)
----------, May 18, 2024

Version 2.2.011
  • Fixed bug where some potions on older versions (1.20.4 and older) were not brewable (night vision extended, etc)
  • Improved logging for Alchemy potion look up (see notes)

NOTES:
Added detailed logging when multiple configured potions match an ItemStack.
This will help identify issues with potion configuration.
----------, May 18, 2024

  • Fixed being unable to load REGEN potion type on new versions of Paper/Spigot 1.20.6
  • Fixed some potions not gaining XP when brewed (Level 2 potions, etc)
  • BrewingStands will now remember who owns them, this persists across restarts (see notes)
  • Fixed rare NPE in mcMMO events when player data was unable to be retrieved
  • Fixed a NPE that could happen when damaging armor with Axes
  • Fixed a bug where Alchemy brewing would be cancelled if the player died
  • (API) Added getMcMMOPlayer() to McMMOPlayerSkillEvent
  • (API) Added new ctor McMMOPlayerSkillEvent(@NotNull McMMOPlayer mmoPlayer, @NotNull PrimarySkillType primarySkillType)
  • (API) Deprecated ctor McMMOPlayerSkillEvent(org.bukkit.entity.Player, com.gmail.nossr50.datatypes.skills.PrimarySkillType)
  • (API) Added ctor McMMOPlayerAbilityEvent(com.gmail.nossr50.datatypes.player.McMMOPlayer, com.gmail.nossr50.datatypes.skills.PrimarySkillType)
  • (API) Deprecated ctor McMMOPlayerAbilityEvent(org.bukkit.entity.Player, com.gmail.nossr50.datatypes.skills.PrimarySkillType)
  • (API) Deprecated ctor McMMOPlayerAbilityActivateEvent(org.bukkit.entity.Player, com.gmail.nossr50.datatypes.skills.PrimarySkillType)
  • (API) Added ctor McMMOPlayerAbilityActivateEvent(com.gmail.nossr50.datatypes.player.McMMOPlayer, com.gmail.nossr50.datatypes.skills.PrimarySkillType)
  • (API) Deprecated ctor McMMOPlayerCatalysisEvent(org.bukkit.entity.Player, double)
  • (API) Added ctor McMMOPlayerCatalysisEvent(com.gmail.nossr50.datatypes.player.McMMOPlayer, double)
  • (API) Deprecated util method EventUtils.callPlayerAbilityActivateEvent(org.bukkit.entity.Player, com.gmail.nossr50.datatypes.skills.PrimarySkillType)
  • (API) Added util method EventUtils.callPlayerAbilityActivateEvent(com.gmail.nossr50.datatypes.player.McMMOPlayer, com.gmail.nossr50.datatypes.skills.PrimarySkillType)
  • (API) Deprecated ctor McMMOPlayerFishingEvent(org.bukkit.entity.Player)
  • (API) Added ctor McMMOPlayerFishingEvent(com.gmail.nossr50.datatypes.player.McMMOPlayer)
  • (API) Deprecated ctor McMMOPlayerFishingTreasureEvent.McMMOPlayerFishingTreasureEvent(org.bukkit.entity.Player, org.bukkit.inventory.ItemStack, int)
  • (API) Added ctor McMMOPlayerFishingTreasureEvent.McMMOPlayerFishingTreasureEvent(com.gmail.nossr50.datatypes.player.McMMOPlayer, org.bukkit.inventory.ItemStack, int)
  • (API) Deprecated ctor McMMOPlayerMagicHunterEvent(org.bukkit.entity.Player, org.bukkit.inventory.ItemStack, int, java.util.Map<org.bukkit.enchantments.Enchantment,java.lang.Integer>)
  • (API) Added ctor McMMOPlayerMagicHunterEvent(com.gmail.nossr50.datatypes.player.McMMOPlayer, org.bukkit.inventory.ItemStack, int, java.util.Map<org.bukkit.enchantments.Enchantment,java.lang.Integer>)
  • (API) Deprecated ctor McMMOPlayerAbilityDeactivateEvent(org.bukkit.entity.Player, com.gmail.nossr50.datatypes.skills.PrimarySkillType)
  • (API) Added ctor McMMOPlayerAbilityDeactivateEvent(com.gmail.nossr50.datatypes.player.McMMOPlayer, com.gmail.nossr50.datatypes.skills.PrimarySkillType)
  • (API) Deprecated util method EventUtils.callAbilityDeactivateEvent(org.bukkit.entity.Player, com.gmail.nossr50.datatypes.skills.SuperAbilityType)
  • (API) Added util method EventUtils.callAbilityDeactivateEvent(com.gmail.nossr50.datatypes.player.McMMOPlayer, com.gmail.nossr50.datatypes.skills.SuperAbilityType)
  • (API) Deprecated util EventUtils.callSubSkillEvent(org.bukkit.entity.Player, com.gmail.nossr50.datatypes.skills.SubSkillType)
  • (API) Added util EventUtils.callSubSkillEvent(com.gmail.nossr50.datatypes.player.McMMOPlayer, com.gmail.nossr50.datatypes.skills.SubSkillType)
  • (API) Deprecated ctor SubSkillEvent(org.bukkit.entity.Player, com.gmail.nossr50.datatypes.skills.SubSkillType)
  • (API) Added ctor SubSkillEvent(com.gmail.nossr50.datatypes.player.McMMOPlayer, com.gmail.nossr50.datatypes.skills.SubSkillType)
  • (API) Deprecated ctor SubSkillEvent(org.bukkit.entity.Player, com.gmail.nossr50.datatypes.skills.SubSkillType, double)
  • (API) Added ctor SubSkillEvent(com.gmail.nossr50.datatypes.player.McMMOPlayer, com.gmail.nossr50.datatypes.skills.SubSkillType, double)
  • (API) Deprecated ctor SubSkillEvent(org.bukkit.entity.Player, com.gmail.nossr50.datatypes.skills.subskills.AbstractSubSkill)
  • (API) Added ctor SubSkillEvent(com.gmail.nossr50.datatypes.player.McMMOPlayer, com.gmail.nossr50.datatypes.skills.subskills.AbstractSubSkill)
  • (API) Deprecated ctor AlchemyBrewCheckTask(org.bukkit.entity.Player, org.bukkit.block.BrewingStand)
  • (API) Added ctor AlchemyBrewCheckTask(org.bukkit.block.BrewingStand)

NOTES:
You can now use hoppers and brewing stands and not have to worry about having to re-interact with the brewing stand over and over again
Ownership of a brewing stand is whoever last interacted with it, this persists across restarts
This is not an exhaustive list of API changes in this update, but most of the important ones should be documented here.
----------, May 16, 2024

  • Fixed a bug that prevented mcMMO from loading on MC versions older than 1.20.6
  • Dramatically increased the base XP for Alchemy again (see notes)

NOTES:
Alchemy leveling still felt too slow, so I've increased it again. You can either delete experience.yml to get the new values or adjust them manually.
If you haven't updated mcMMO since 2.2.006 or older you don't need to do anything to get these new values.
The new default values are...
Potion_Brewing:
Stage_1: 666
Stage_2: 1111
Stage_3: 1750
Stage_4: 2250
----------, May 12, 2024

Fixed alchemy potions not upgrading correctly (This will only affect new potions made, see notes)
Fixed a bug where alchemy potions had italicized names
Fixed a bug where messages were not being sent to the action bar in 1.20.6
(SQL) Fixed bug that broke /mccooldowns and /archery in some circumstances
Fixed some exceptions that could happen with parties disabled (thanks IAISI)

NOTES:
mcMMO-exclusive Potions (haste, etc) made on version 2.2.007 of mcMMO will not upgrade correctly, you'll just have to make new ones. Sorry for the inconvenience.

Alchemy potions will now be brewed as type "Mundane" behind the scenes, this used to be Uncraftable/Water. This led to some issues. So I've changed it to be Mundane.
----------, May 12, 2024

  • Compatibility with the 1.20.5 / 1.20.6 MC Update
  • Fixed bug where Alchemy was not brewing certain potions (haste, etc)
  • Tree Feller no longer restricts how many saplings can drop
  • Tree Feller now drops leaves 25% of the time (up from 10%)
  • Alchemy XP has been DRAMATICALLY increased, it was extremely grindy by default
  • Alchemy experience values in experience.yml are now found under 'Experience_Values.Alchemy.Potion_Brewing'
  • Fixed bug where the probability of success of Graceful Roll was not being calculated correctly
  • Fixed bug where Green Thumb did not replant if seed was in the off hand
  • Added armadillo to combat experience in experience.yml

NOTES:
While fixing various Alchemy bugs, I noticed Alchemy leveled SUPER slow, I have increased it dramatically. Feel free to change it back by modifying the new values in experience.yml
I did my best to keep mcMMO compatible with older versions of Minecraft for this update.
This update to MC was quite large, with breaking changes to a lot of code relating to Alchemy, and some other things.
I expect there to be bugs, please report them on GitHub or Discord, but preferably GitHub.
I will be working on fixing these bugs as they come in, so please be patient.
----------, May 4, 2024

  • Added new config custom_item_support.yml
  • Added support for hex color codes in the locale file, uses the format &#RRGGBB (see notes)
  • Added setting to disable repair on items with custom models, this is not on by default
  • Fixed a bug where sometimes the locale name of a skill would get lowercased
  • Fixed a bug where JSON text components did not get colored properly some of the time
  • Fixed en_US locale string 'Commands.Skill.Leaderboard' not being colored properly
  • Fixed skill commands incorrectly telling you to use their locale name, this isn't currently possible
  • Updated outdated wiki URLs in commands to point to the new wiki
  • Removed the msg about skills being migrated to a new system when using /mmoinfo command
  • Added new locale entry 'Anvil.Repair.Reject.CustomModelData'
  • Added new locale entry 'Anvil.Salvage.Reject.CustomModelData'
  • Updated en_US locale entry 'JSON.DescriptionHeader'
  • (API/Codebase) Added some util methods and basic unit tests for LocaleLoader

NOTES:
Hex Color support in locale files is here!
The hex color code format for the locale files is &#RRGGBB
An example entry applying yellow as a hex color code would look like this:
Axes.SkillName=&#FFFF00Axes
In general, JSON locale entries will either not work with hex color codes or will have the color code stripped out, in the future I will add support for the JSON components to use hex colors from the locale

Let me know in detail what kind of support you'd like to see in mcMMO regarding custom items, I'm open to suggestions.
This update adds a new config file to allow server owners to disable repair or salvage on items with custom models,
This prevention mechanism is not enabled by default, change the settings in custom_item_support.yml if you want to enable it.
This feature is off by default for now to keep compatibility with existing servers, but it may be enabled by default in the future if feedback suggests it should be.
As a reminder, anyone can update the wiki by clicking on the "edit on github" link on various pages, this will take you to the wiki's source code on GitHub, submit a PR to make changes
----------, Apr 13, 2024

  • Fixed a bug where certain skills such as Dodge/Arrow Deflect had no skill cap and would continue improving forever
  • Reduced messages on startup for SQL DB
  • (API) Constructor for ProbabilityImpl now takes a raw value between 0 and 1 instead of an inflated percentage
  • (API) Added some convenience methods to Probability, and ProbabilityUtil classes
  • (Codebase) Added more unit tests revolving around Probability/RNG
----------, Apr 6, 2024

  • Fixed bug where values from Experience_Formula.Skill_Multiplier were not functioning

NOTES:
A reminder that these values are multipliers and no longer divisors, if you want 10x lower XP, a value of .1 would do the job.
----------, Apr 2, 2024

  • (SQLDB) Fixed a bug where lastlogin was using a value that was too large
  • (SQLDB) Fixed bug where crossbows was not getting added to SQL schema for some users
----------, Mar 31, 2024

  • Fixed bug where thrown tridents did not grant XP or benefit from subskills
  • Fixed bug where Trickshot marked bounced arrows as being shot from a bow instead of being shot from a crossbow.
----------, Mar 31, 2024

Version 2.2.001

Fix crossbows command showing incorrect description for powered shot

Version 2.2.000

This update has been a long time coming, I decided to include a preview of Tridents/Crossbows as part of this update, I hope you enjoy.

General
  • Added Crossbows Skill, this skill is an early preview / WIP and feedback on discord is appreciated
  • Added Tridents Skill, this skill is an early preview / WIP and feedback on discord is appreciated
  • Added the "endgame" triple drop subskill 'Mother Lode' to Mining
  • Added the "endgame" triple drop subskill 'Clean Cuts' to Woodcutting
  • Added the "endgame" triple drop subskill 'Verdant Bounty' to Herbalism
  • Added /mmopower command which simply shows your power level (aliases /mmopowerlevel /powerlevel)
  • Quite a few misc bugs were patched relating to random chance, some involving perk permissions

Config
  • Added 'Send_To_Console' settings to chat.yml to toggle sending party or admin chat messages to console
  • Replaced 'Experience_Formula.Modifier' in experience.yml with 'Experience_Formula.Skill_Multiplier' which is easier to understand and less prone to divide by zero bugs
  • child.yml config is gone now, feel free to delete it
  • Added ExploitFix.PreventArmorStandInteraction to experience.yml to prevent players from triggering mcMMO abilities off armor stands

Tweaks
  • Tree Feller now drops 90% less non-wood block rewards (leaves/etc) on average from Knock on Wood.
  • Treasure drop rate from Shake, Fishing, Hylian, and Excavation now benefit from the Luck perk
  • Updated advanced.yml with entries for the new skills

Permission nodes
  • Added 'mcmmo.commands.mmopower' permission node for the new /mmopower command
  • Added 'mcmmo.commands.crossbows' permission node
  • Added 'mcmmo.ability.crossbows.crossbowslimitbreak' permission node
  • Added 'mcmmo.ability.crossbows.trickshot' permission node
  • Added 'mcmmo.ability.crossbows.poweredshot' permission node
  • Added 'mcmmo.commands.tridents' permission node
  • Added 'mcmmo.ability.tridents.tridentslimitbreak' permission node
  • Added 'mcmmo.ability.tridents.impale' permission node
  • Added 'mcmmo.ability.herbalism.verdantbounty' permission node
  • Added 'mcmmo.ability.mining.motherlode' permission node
  • Added 'mcmmo.ability.woodcutting.cleancuts' permission node

Locale
Added locale entries for all the new skills/subskills

Codebase / Misc
  • PAPI's '/papi reload' command will no longer unload mcMMO (thanks gecko10000)
  • Major rewrite for how random chance was handled in the code
  • Many skills with RNG elements now send out a SubSkillEvent (which can be used to modify probability or cancel the results), some skills without RNG still send out this event when activated, this event is cancellable so it can be used to make a skill fail
  • A lot of new unit tests were added to help keep mcMMO stable as part of this update, of course, more could always be added.

NOTES:
One feature of this update is to provide an endgame benefits to some skills that you can grind for a long time, ideally for a long while. I will likely expand upon this idea in future updates.
A few skills have these endgame-oriented subskills, these new subskills provide a small benefit at first that grows and scales up to level 10,000 (or 1,000 for Standard mode which no one uses) and does not have ranks (other than the initial rank to unlock it).
These endgame sub skills unlock at level 1000 for users with default mcMMO settings, or 100 for those using the optional Standard scaling.
You can tweak the benefits of these skills in advanced.yml, the default settings are meant to be a good starting point.

Crossbows and Tridents are WIP skills, I would like feedback on discord about them.
Tridents especially is very early, I have some ideas but I want to hear what you think about it.

More info on the new Triple Drop skills (Mother Lode, Clean Cuts, Verdant Bounty):
Currently these start at about 5% chance and can reach a maximum 50% chance if a player acquired 10,000 skill, you can adjust this in advanced.yml
These skills respect double drop settings from config.yml just like the corresponding Double Drop skills do, if a double drop is disabled for an item, then its disabled for triple drops too.
I added a new Power Level Command, for now this just shows you your current power level. If I ever add features based on power level, this command will likely display output related to those features.

Maces...
Regarding Maces, I will likely add that as a WIP skill when the next Minecraft update drops.
----------, Mar 30, 2024

This update has been a long time coming, I decided to include a preview of Tridents/Crossbows as part of this update, I hope you enjoy.

General
  • Added Crossbows Skill, this skill is an early preview / WIP and feedback on discord is appreciated
  • Added Tridents Skill, this skill is an early preview / WIP and feedback on discord is appreciated
  • Added the "endgame" triple drop subskill 'Mother Lode' to Mining
  • Added the "endgame" triple drop subskill 'Clean Cuts' to Woodcutting
  • Added the "endgame" triple drop subskill 'Verdant Bounty' to Herbalism
  • Added /mmopower command which simply shows your power level (aliases /mmopowerlevel /powerlevel)
  • Quite a few misc bugs were patched relating to random chance, some involving perk permissions

Config
  • Added 'Send_To_Console' settings to chat.yml to toggle sending party or admin chat messages to console
  • Replaced 'Experience_Formula.Modifier' in experience.yml with 'Experience_Formula.Skill_Multiplier' which is easier to understand and less prone to divide by zero bugs
  • child.yml config is gone now, feel free to delete it
  • Added ExploitFix.PreventArmorStandInteraction to experience.yml to prevent players from triggering mcMMO abilities off armor stands

Tweaks
  • Tree Feller now drops 90% less non-wood block rewards (leaves/etc) on average from Knock on Wood.
  • Treasure drop rate from Shake, Fishing, Hylian, and Excavation now benefit from the Luck perk
  • Updated advanced.yml with entries for the new skills

Permission nodes
  • Added 'mcmmo.commands.mmopower' permission node for the new /mmopower command
  • Added 'mcmmo.commands.crossbows' permission node
  • Added 'mcmmo.ability.crossbows.crossbowslimitbreak' permission node
  • Added 'mcmmo.ability.crossbows.trickshot' permission node
  • Added 'mcmmo.ability.crossbows.poweredshot' permission node
  • Added 'mcmmo.commands.tridents' permission node
  • Added 'mcmmo.ability.tridents.tridentslimitbreak' permission node
  • Added 'mcmmo.ability.tridents.impale' permission node
  • Added 'mcmmo.ability.herbalism.verdantbounty' permission node
  • Added 'mcmmo.ability.mining.motherlode' permission node
  • Added 'mcmmo.ability.woodcutting.cleancuts' permission node

Locale
Added locale entries for all the new skills/subskills

Codebase / Misc
  • PAPI's '/papi reload' command will no longer unload mcMMO (thanks gecko10000)
  • Major rewrite for how random chance was handled in the code
  • Many skills with RNG elements now send out a SubSkillEvent (which can be used to modify probability or cancel the results), some skills without RNG still send out this event when activated, this event is cancellable so it can be used to make a skill fail
  • A lot of new unit tests were added to help keep mcMMO stable as part of this update, of course, more could always be added.

NOTES:
One feature of this update is to provide an endgame benefits to some skills that you can grind for a long time, ideally for a long while. I will likely expand upon this idea in future updates.
A few skills have these endgame-oriented subskills, these new subskills provide a small benefit at first that grows and scales up to level 10,000 (or 1,000 for Standard mode which no one uses) and does not have ranks (other than the initial rank to unlock it).
These endgame sub skills unlock at level 1000 for users with default mcMMO settings, or 100 for those using the optional Standard scaling.
You can tweak the benefits of these skills in advanced.yml, the default settings are meant to be a good starting point.

Crossbows and Tridents are WIP skills, I would like feedback on discord about them.
Tridents especially is very early, I have some ideas but I want to hear what you think about it.

More info on the new Triple Drop skills (Mother Lode, Clean Cuts, Verdant Bounty):
Currently these start at about 5% chance and can reach a maximum 50% chance if a player acquired 10,000 skill, you can adjust this in advanced.yml
These skills respect double drop settings from config.yml just like the corresponding Double Drop skills do, if a double drop is disabled for an item, then its disabled for triple drops too.
I added a new Power Level Command, for now this just shows you your current power level. If I ever add features based on power level, this command will likely display output related to those features.

Maces...
Regarding Maces, I will likely add that as a WIP skill when the next Minecraft update drops.
----------, Mar 30, 2024

  • Fixed a bug preventing parties from being made without passwords (Thanks Momshroom)
  • Updated korean locale (thanks mangchi57)
  • Added some unit tests for party creation
----------, Mar 10, 2024

  • Fixed an error that could happen when mcMMO was saving when parties were disabled by party.yml (thanks IAISI & L4BORG)
  • Fixed several exceptions when checking PVP damage when parties were disabled by party.yml (thanks IAISI & L4BORG)
----------, Feb 23, 2024

  • Added new party.yml config, which lets admins disable the party system entirely without having to use permissions
  • Fixed error caused by missing API in McMMOEntityDamageByRuptureEvent
  • (API) Major API changes to PartyManager
  • (API) PartyManager is no longer a static singleton class, use mcMMO.getPartyManager() to get the PartyManager
  • (API) Added com.gmail.nossr50.mcMMO.isPartySystemEnabled to check if the party system is enabled
  • (API) Added com.gmail.nossr50.api.PartyAPI.isPartySystemEnabled as an alternative, to check if the party system is enabled
  • (API) Added missing com.gmail.nossr50.events.skills.rupture.McMMOEntityDamageByRuptureEvent.getHandlerList

NOTES:
Admins can now enable/disable the mcMMO party system with a setting in the new party.yml config
You'll have to start your server one time to generate the config, then change the setting and reboot your server.
----------, Feb 20, 2024

  • Fixed a stack trace due to Spigot API break on EntityDamageEvent and EntityDamageByEntity event
  • (API) - Removed FakeEntityDamageEvent and FakeEntityDamageByEntityEvent
  • (API) - Reworked McMMOEntityDamageByRuptureEvent, this no longer extends EntityDamageByEntityEvent, instead it extends EntityEvent

Notes:
Some care went into keeping mcMMO compatible with older versions despite a big API break from Spigot, this may introduce some new bugs, so please report them if you run into any.
----------, Feb 14, 2024

  • Fixed bug where some text would not be displayed to players (Adventure dependency update)
  • Repair sound effect from mcMMO can now be adjusted in Minecraft sound options (Thanks MithicSpirit)
  • Korean locale updated (Thanks Pindang2)
  • Simplified Chinese locale updated (Thanks YuanYuanOwO)

NOTES:
For those curious, mcMMO uses Adventure to do a lot of the message sending to players.
It typically needs updating when new versions of MC come out, sorry for the delay on my part.
----------, Jan 3, 2024

  • Added Short_Grass to experience.yml for Herbalism
  • Updated Hylian Treasures "Bushes" alias to use short_grass when playing on new Minecraft versions
  • Fixed dirt_path and grass_block not being correctly whitelisted for herbalism abilities
You will need to add Short_Grass to your experience.yml manually or delete experience.yml to generate a new one
----------, Dec 17, 2023

  • Fixed text from mcMMO not being sent or displayed to the player
  • Updated Adventure dependencies
  • Added new API McMMOPlayerNotificationEvent.getPlayer
----------, Oct 15, 2023

  • Updated to a new build of ACF to fix NoSuchFieldException locale
  • Improved Folia Support (Thanks HSGamer)
  • Fishing Shake has 8 ranks again.

NOTES:
At some point Shake got reduced to 1 rank, this didn't really make sense as it was meant to be a skill that ranked up and got better over time.
It now has 8 ranks again, you may need to update advanced.yml and skillranks.yml to get the new ranks but these configs should auto update, if you run into trouble compare your shake settings in both these files it to the default configs
----------, Oct 3, 2023

Folia Support added (Thanks to HSGamer, TechnicallyCoded, Rockyers, and Yomamaeatstoes)

NOTES: This update brings mcMMO to Folia, not all features are guaranteed to work but from limited testing it appears to be working well. Report issues on our GitHub.
----------, Aug 27, 2023

  • Fixed dupe exploit
  • Glow Lichen default XP changed from 200 to 5
  • A lot of mcMMO logging was moved from INFO to DEBUG, this should reduce the amount of noise in your logs and console

NOTES:
Details of the dupe are left out on purpose, please patch ASAP.
If you want to see all logging messages, modify config.yml and set General.Verbose_Logging to true
You will have to adjust experience.yml to get the balance changes, or delete it to generate a new one
----------, Jul 9, 2023

  • PAPI Support is now official and built into mcMMO and loads when mcMMO loads (as long as you have PAPI running on the server)
  • Fixed blast mining bonus drops not working (Thanks warriiorrrr)
  • Added fail safes to prevent bonus drops metadata from lingering on blocks

NOTES: Placeholders were brought in from electroniccat's original work on a PAPI expansion for mcMMO, the placeholders are the same as a result
I will be adding a leaderboard placeholder in the next patch (most likely). Feel free to share details of what functionality you'd want from additional placeholders on discord.
----------, Jun 19, 2023

  • (API) Added TreeFellerBlockBreakEvent class which extends FakeBlockBreakEvent (see notes), this is sent out during Tree Feller processing to allow other plugins to differentiate between Tree Feller and other fake block break events
  • Config files update automatically again
  • Default configs are now copied to plugins/mcMMO/defaults for easy reference
  • Fixed child skills counting towards power level in /inspect (Thanks Wariorrrr)

NOTES: For a while configs were not updating automatically as a rewrite of how config files were loaded was partially done, this is now complete and configs will update automatically again.
Fake block break events have been sent out historically by mcMMO to check other plugins for a players permission to break or place a block, Tree Feller will now specify via inheritance its own event type for this so mcMMO plugins can handle Tree Feller fake block break events differently if they so choose.
You can now view the default configs more easily as they are now copied to plugins/mcMMO/defaults, these configs will be overwritten on start up to match the default values of the config in the JAR
----------, May 13, 2023

  • Version 2.1.219
    • Fixed Fishing exploit protection being triggered inappropriately by other plugins (Thanks smudgge)
    • Fixed wiki url being incorrect in commands
    • Party loading is more resilient (Thanks Wariorrrr)
    • Fixed periods not being replaced when renaming party (Thanks Wariorrrr)
    • Fixed Party Teleport NPE (Thanks Wariorrrr)
    • Added support for various new things from Minecraft 1.20
    • Fixed double drop issue with Beetroots
    • Added 'Camel' to taming experience in experience.yml
    • Added 'Sniffer' to taming experience in experience.yml
    • Added 'Snifflet' to taming experience in experience.yml
    • Added 'Pitcher_Plant' to bonus drops in config.yml
    • Added 'Torchflower' to bonus drops in config.yml
    • Added 'Pink_Petals' to bonus drops in config.yml
    • Added 'Cherry_Log' to bonus drops in config.yml
    • Added 'Cherry_Wood' to bonus drops in config.yml
    • Added 'Camel' to combat experience in experience.yml
    • Added 'Sniffer' to combat experience in experience.yml
    • Added 'Snifflet' to combat experience in experience.yml
    • Added 'Torchflower' to herbalism experience in experience.yml
    • Added 'Pitcher_Plant' to herbalism experience in experience.yml
    • Added 'Pink_Petals' to herbalism experience in experience.yml
    • Added 'Cherry_Log' to woodcutting experience in experience.yml
    • Added 'Cherry_Wood' to woodcutting experience in experience.yml
    • Added 'Stripped_Cherry_Log' to woodcutting experience in experience.yml
    • Added 'Stripped_Cherry_Wood' to woodcutting experience in experience.yml
    • Added 'Skills.Mining.BlastMining.Bonus_Drops.Enabled' to advanced.yml to enable/disable bonus drops from Blast Mining
    NOTE: There are plans to add experience and potentially subskills for discovering items via the new brushing mechanic, but this will have to wait for new Spigot API to become available
----------, Apr 8, 2023

  • Fixed locale pt_BR type (thanks MrPowerGamerBR)
  • Updated Russian Locale (thanks imDaniX)
  • Harvest Lumber checks main hand enchantments when delivering bonuses (thanks destro174)
  • Fixed bug where players could use inspect to determine if vanished players were online (thanks DarkKnights22)
----------, Dec 4, 2022

  • Tree Feller will now break blocks within the limit instead of refusing to fell the entire tree (partial big tree destruction)
  • Mangrove trees resulting from growth are now marked as natural (existing trees marked unnatural before this update will not be retroactively fixed)
  • Fixed a bug removing comments from configs (see notes)
  • Fixed mouse-hover tooltip windows (thanks Greymagic27)

NOTES:
Regarding the secure chat feature Minecraft rolled out, once APIs have updated I will look into rolling support for that into admin/party chat.
Comments should no longer get removed from config but I haven't added any code to add missing comments back in, for now if you want comments you can delete the config file to regenerate it (sorry for the inconvenience)
----------, Aug 8, 2022

  • Reverted Unarmed changes from 2.1.215 (fixes block breaker/beserk active at all time for all players)
  • Added Sculk_* blocks to Mining XP
  • You can use Hoe(s) to gain mining XP, Hoe(s) won't benefit from Super Breaker nor will they activate it (see notes)

NOTES:
Hoe's being able to gain Mining XP is primarily for Sculk blocks which have Hoe as the fastest tool yet to me feel like Mining blocks, let me know what you think
The Sculk blocks don't quite fit perfectly as mining-related, especially since hoes are the fastest tool to use for them. Let me know what you think.
----------, Jul 24, 2022

  • Unarmed bonuses apply to players who hurt an entity with empty fists in the last 60 seconds, these bonuses do not get applied if you are using another mcMMO tool/weapon/trident/etc (see notes)
  • Fixed Coal Blocks and potentially other fuel sources not showing burning animation to players (see notes)
  • Level up broadcasts from level milestones will now be visible to the player who achieved them
  • Fixed a bug where hovering over skill descriptions did not display anything (thanks Greymagic27)
  • Added Dripstone to experience.yml (thanks Greymagic27)
  • Added Mangrove_Log to experience.yml (should fix behavior for tree-feller etc)
  • Item in main hand is now used for Tree Feller drops (thanks destro174)

NOTES:
The unarmed change is to lower the penalty for picking up items during a fight, as an alternative solution, you can turn on Skills.Unarmed.Items_As_Unarmed in config.yml to have players be considered to be using unarmed while holding items regardless of last unarmed combat (holding tools/weapons/tridents will disqualify you from this)

Players who damage another entity with empty hands are considered "recently unarmed" for the next 60 seconds, during this period if they attack with items in their hands (other weapons/tools/tridents excluded) they will be processed as if they are using unarmed combat, this also works with stuff like block breaker


The furnace burning UI animation bug is actually in Spigot, it takes an int for setBurnTime when it really should only take a short as the game is expecting a short value, I implemented a hacky workaround via Math.min

Config Comment Bug:
There is a bug where you may lose your config comments, this will be complex to solve, for now you can check our GitHub for the configs with comments. I'll try to get this fixed for 2.1.216
----------, Jul 24, 2022

  • Temporarily removed FakePlayerAnimationEvent (see notes)
  • Players can now see their own level up broadcasts

NOTES:
Spigot updated PlayerAnimationEvent with an API break between versions 1.18 and 1.19, as a temporary fix for mcMMO to be able to support both of these Minecraft versions I have temporarily removed FakePlayerAnimationEvent.

I am working on a fix to dynamically use the correct API depending on the version of MC
as many people will likely be stuck on 1.18 for a while.

Historically FakePlayerAnimationEvent existed to circumvent false positives on anti-cheat plugins such as NoCheat and was originally introduced to mcMMO back in 2013, however I am unsure if it is still needed and removing it may have no ill effects.. let me know if I'm wrong.

Anti-cheat plugin authors should be informed to update their mcMMO compatibility if you run into false positives with mcMMO after this update so they can make the appropriate changes.
----------, Jun 10, 2022

Please read the notes at the end of this changelog

  • Updated various mechanics to recognize and understand the new blocks
  • Added 'Packed_Mud' to mining xp
  • Added 'Mud_Bricks' to mining xp
  • Added 'Reinforced_Deepslate' to mining xp
  • Added 'Mud' to excavation xp
  • Added 'Muddy Mangrove Roots' to excavation xp
  • Added 'Mangrove_Roots' to woodcutting xp
  • Added 'Stripped_Mangrove_Log' to woodcutting xp
  • Added 'Stripped_Crimson_Stem' to woodcutting xp
  • Added 'Stripped_Warped_Stem' to woodcutting xp
  • Added 'Allay' to combat experience
  • Added 'Frog' to combat experience and taming experience
  • Added 'Tadpole' to combat experience
  • Added 'Warden' to combat experience

Changes to excavation treasures (READ NOTES)

  • Added Mud as a block which can drop various treasures (see notes)
  • Added Muddy_Mangrove_Roots as a block which can drop various treasures (see notes)
  • Added Stick as a new excavation drop, which drops from mud and muddy mangrove roots (see notes)
  • Added Potato as a new excavation drop, which drops from mud and dirt (see notes)
  • Added Feather as a new excavation drop, which drops from mud (see notes)
  • Added Spyglass as a new excavation drop, which drops rarely from mud and dirt (see notes)
  • Added Trident as a new excavation drop, which drops somewhat rarely from mud, muddy mangrove roots, and clay (see notes)
  • Added Heart of the Sea as a new excavation drop, which drops very rarely from mud and requires a very high excavation level to appear


NOTES:
To get the new excavation drop list, the easiest way is to just delete mcMMO/treasures.yml and mcMMO will regenerate it with the newest version the next time you start your server.

I'll likely be tweaking the treasures list in the near future, leave feedback on discord if you have suggestions

I hope everyone is doing well, I'm looking forward to summer.. if it ever shows up in the PNW
----------, Jun 8, 2022

  • An herbalism exploit has been patched (thanks WhatsTheBadNews)
  • Added 'ExploitFix.Combat.XPCeiling.Enabled' to experience.yml
  • Added 'ExploitFix.Combat.XPCeiling.Damage_Limit' to experience.yml
  • Single instances of combat damage above 100 give are capped to give the same reward as 100 by default (100 is a lot, but you can change this in settings)

NOTES: The damage ceiling won't affect server that don't have mobs running around with abnormally high health, if your server does you'll want to adjust this limit or disable it.
----------, Apr 29, 2022

  • Added /mmodebug info for players hitting other players
  • Fixed Immortal Player bug
  • Removed all of Spigot's buggy and deprecated DamageModifier API, this fixes the bug where players would become immortal when using certain other plugins
  • Rupture is back to doing "pure" damage (due to the above change)

NOTES:
Rupture damage will be tweaked based on feedback as it is dealing "pure" damage.
----------, Mar 18, 2022

  • Fixed a memory leak involving mob metadata
  • Fixed a potential null pointer exception in InventoryListener

NOTES:
If you're having issues with "immortal players" this is a known plugin incompatibility between mcMMO and another plugin, I need more info on what plugins need to be present to cause it. Please post info to GitHub issues or tag me on discord.
There was a big rewrite in this update relating to how various types of metadata were being tracked/stored/retrieved
If you run into issues with this version of mcMMO, please post about it on GitHub
----------, Mar 17, 2022

The previous update addressed many issues but it failed to get all the duplicate comments due to an oversight in the code. Sorry for that. I hope we get them all in this patch.

Version 2.1.209
  • Fixed a bug where some config files did not get trimmed completely

NOTES:
This should fix the issue for everyone, let me know if you still run into trouble!
Don't be afraid to ping me on discord
----------, Jan 15, 2022

It would be a good idea to backup your config files in /plugins/mcMMO/ before installing this update in case you experience bugs, I've tested this update thoroughly but you never know. The code rewrites were pretty big, so you should back them up just in case! Report any issues on our GitHub.
  • Significantly rewrote to how mcMMO loads/updates config files
  • Fixed a bug where huge config files caused the server to take forever to start/shutdown
  • Fixed config files duplicating comments and updated their code to use Spigot API (thanks the456gamer)
  • mcMMO now repairs config files (removing duplicate comments, see notes)
  • Updated lithuanian locale (thanks dexasz)

NOTES:
Due to a change in Spigot mcMMO started growing config files at an alarming rate until they became so big they wouldn't load, and well before they got to that stage they slowed down loading the server
mcMMO now uses the Spigot API in a smarter way for config files
----------, Jan 11, 2022

  • Java 16 is now supported, but you should be using Java 17 when you can
  • Fixed an IndexOutOfBounds exception with our BlockTracker
  • Fixed a bug where leveling up a party at level cap would spam the chat with messages
  • mcMMO will no longer use enchanted repair materials (thanks JeBobs)
  • Added an option to allow enchanted repair materials 'Skills.Repair.Use_Enchanted_Materials' in config.yml
  • Added unicode (UTF-8) support to locale files (no more UTF-16 codes needed)
  • Added locale key 'Scoreboard.Disabled' to en_US
  • Added locale key 'Scoreboard.NotSetupYet' to en_US
  • Fixed a bug where Salvage sent messages even though the event was cancelled (Thanks TheBusyBiscuit)

NOTES:
Java16 support will not last forever, this is a temporary measure for servers who are running Java 16 and aren't yet on MC 1.18.1

Please report any bugs to our github (latest MC version only pls) and with your latest.log file if relevant
----------, Dec 27, 2021

  • Fixed a memory leak involving Herbalism under specific circumstances
  • Fixed a memory leak involving Rupture under specific circumstances
  • Fixed a memory leak involving Dodge
  • Fixed a memory leak involving Endermen and block pickups
  • Fixed a memory leak from plugin conflicts when double drops get activated
  • Fixed a memory leak that required a specific config.yml setup with mob health bars
  • You can no longer set mob health bars to -1 in config.yml to set it to display permanently (this was problematic behavior)
  • Fixed a bug preventing Action Bar messages from showing
  • Fixed a bug where Alchemy XP wasn't being granted
  • Lowered the default volume of level up from .75 to .3 in sounds.yml (delete sounds.yml to get this change automagically)
  • Updated adventure platform dependency
  • Updated to use Java 17

NOTES:
mcMMO will target the newest version of MC moving forward, any backwards compatibility with prior versions of Minecraft should be considered a side effect rather than intended.
----------, Dec 12, 2021

  • Fixed yet another exception preventing Alchemy from working (thanks NemuruYama)
  • Added some code to cleanup potential memory leaks

NOTES:
Sorry for the delay in this patch, I have had a terrible cold all weekend, feeling better now
----------, Nov 14, 2021

Fixed IndexOutOfBoundsException (thanks gecko10000) (related to Alchemy)
Added double smelt to copper ingot and netherite scrap (thanks Lyther)
----------, Nov 10, 2021

  • mcMMO now requires Java 16
  • mcMMO now requires the newest version of Minecraft (currently 1.17.1)
  • Fixed several API breaks (mostly affected Alchemy)
  • Fixed a bug relating to Shake percentages (thanks Lyther)
  • Fixed hexcolors not displaying correctly in level up milestone broadcasts (thanks gecko10000)
  • (API) Added deprecated constructors for PlayerProfile (thanks PikaMug)
  • mcMMO has had many of its dependencies updated to newer builds

NOTES:
If you want to play mcMMO on older versions, simply use 2.1.202 instead
Keeping mcMMO backwards compatible with older versions is getting messy, and I'd rather be able to focus my attention at newer features than having to make an elaborate build process (or alternatively hacky code) to support older versions of the game
Furthermore, it seems most people are playing 1.17.1 by a wide margin
You may have trouble compiling the source code if your maven is not setup to run JDK16, if you get any errors when compiling this is likely the reason

The data from bstats went into making this decision (shoutout to Qixils for typing this up too)
71.9% of servers are running 1.17.X
97.9% of servers are running ≥1.16
99.3% of servers are running ≥1.15
----------, Nov 9, 2021

  • Fixed a bug where mcMMO didn't reward XP for Kelp
  • Fixed a bug where mcMMO marked bonemealed Azalea trees as unnatural (and thus did not give XP or get affected by Tree Feller)
  • Added Amethyst_Block to experience.yml for Mining
  • Added Flowering Azalea Leaves to Tree Feller's white list
  • Fixed a bug where mcMMO didn't appropriately flag blocks as natural in some tree growing events
  • (SQL) Added more MySQL/MariaDB settings (allowPublicKeyRetrieval - thanks rosaage)
  • (API) Added CREATED_PARTY and DISBANDED_PARTY to EventReason (used in some party events - thanks PikaMug )
  • Party member name matching is no longer case sensitive (thanks Wariorrrr)
  • Updated zh_CN locale (thanks GhostDC)
  • Added some settings for over fishing (Settings are in experience.yml under Fishing_ExploitFix_Options - thanks tunagohan)

NOTES:
This means tree feller will correctly traverse flowering azalea leaves during its ability
Old Azalea trees made by bone meal in your world will still be unnatural, this fix only applies for new trees after this update is installed
----------, Oct 5, 2021

  • Tweaked the visual/audio effect for Rupture
  • (API) TNT is set as the source in Blast Mining (1.16.1 and up)
  • Fixed an exploit related to Ability Buffs remaining on tools
  • Blast Mining no longer drops Budding Amethyst since its not legal to obtain this item through normal gameplay
  • Added mcinspect and mmoinspect aliases to inspect command
  • Portuguese translation of Woodcutting changed back to Lenhador
  • Updated zh_CN (Chinese) locale, thanks GhostDC!
  • Major changes to zh_TW locale, thanks gregman98
  • Added '/skill keep' shortcut (for example /mining keep) thanks GriffinCodes
  • Impact is now more balanced as the formula has been changed (see notes) thanks emanondev

NOTES:

Impact will deal less durability damage to armors without unbreaking, and more to armors with unbreaking
----------, Aug 10, 2021

Fixed a major 1.17 exploit
Dodge will no longer trigger while blocking
Action Bar messages can now be disabled (thanks TheBusyBiscuit)
mcMMO is better at MC version parsing now (thanks stepech & TheBusyBiscuit)
----------, Jul 2, 2021

  • Fixed IndexOutOfBounds error for servers running 1.17 or higher
  • Fixed a bug that caused MySQL/MariaDB to malfunction for 1.17 (see notes)
  • Renamed Deepslate Lapis Lazuli Ore to Deepslate Lapis Ore in experience.yml and config.yml
  • Added some code to prevent mcMMO from breaking if it doesn't recognize the version of the game
  • Optimized CompatibilitySupportLayer - this handles some of the logic for supporting multiple versions of the game
  • Added Unit Tests for MinecraftGameVersion

NOTES:
I have temporarily disabled SSL for MySQL/MariaDB for 1.17 ( proper fix coming soon )
----------, Jun 15, 2021

  • Fixed a bug where Smelting didn't work with the new 1.17 materials
  • Updated dependency Adventure to 4.8.0 (thanks TheBusyBiscuit)
----------, Jun 11, 2021

  • This update adds compatibility for new mobs and blocks from 1.17
  • This build of mcMMO should be more compatible with certain versions of ViaVersion
  • Players are no longer launched from Minecarts when using a Fishing Rod (they are still dismounted) thanks lexikiq
  • Updated Japanese locale (thanks ViaSnake)
  • Updated Brazil Portuguese (pt_BR) locale (thanks Paulo Guilherme)
  • Added Goat to experience.yml for combat and taming
  • Added Axolotl to experience.yml for combat and taming
  • Added Glow_Squid to experience.yml for combat and taming
  • Added Glow Berries to Farmer's Diet
  • Updated Super Breaker to recognize the new pick-axe appropriate blocks
  • Updated Tree Feller to recognize Azalea Leaves
  • Added Rooted Dirt to experience.yml for Excavation
  • Added Small Dripleaf to experience.yml for Herbalism
  • Added Big Dripleaf to experience.yml for Herbalism
  • Added Moss Block to experience.yml for Herbalism
  • Added Cave Vines to experience.yml for Herbalism
  • Added Cave Vines Plant to experience.yml for Herbalism
  • Added Glow Lichen to experience.yml for Herbalism
  • Added Tuff to experience.yml for Mining
  • Added Calcite to experience.yml for Mining
  • Added Smooth Basalt to experience.yml for Mining
  • Added Block_Of_Amethyst to experience.yml for Mining
  • Added Budding Amethyst to experience.yml for Mining
  • Added Small_Amethyst_Bud to experience.yml for Mining
  • Added Medium Amethyst Bud to experience.yml for Mining
  • Added Large Amethyst Bud to experience.yml for Mining
  • Added Amethyst Cluster to experience.yml for Mining
  • Added Deepslate to experience.yml for Mining
  • Added Cobbled Deepslate to experience.yml for Mining
  • Added Copper Ore to experience.yml for Mining
  • Added Deepslate Redstone Ore to experience.yml for Mining
  • Added Deepslate Copper Ore to experience.yml for Mining
  • Added Deepslate Coal Ore to experience.yml for Mining
  • Added Deepslate Diamond Ore to experience.yml for Mining
  • Added Deepslate Emerald Ore to experience.yml for Mining
  • Added Deepslate Iron Ore to experience.yml for Mining
  • Added Deepslate Gold Ore to experience.yml for Mining
  • Added Deepslate Lapis Lazuli Ore to experience.yml for Mining
  • Added Lapis Lazuli Ore to experience.yml for Mining (was missing)
  • Added Moss Block to Bonus Drops for Herbalism in config.yml
  • Added Glow Berries to Bonus Drops for Herbalism in config.yml
  • Added Cave Vines to Bonus Drops for Herbalism in config.yml
  • Added Cave Vines Plant to Bonus Drops for Herbalism in config.yml
  • Added Tuff to Bonus Drops for Mining in config.yml
  • Added Amethyst Shard to Bonus Drops for Mining in config.yml
  • Added Calcite to Bonus Drops for Mining in config.yml
  • Added Smooth Basalt to Bonus Drops for Mining in config.yml
  • Added Block_Of_Amethyst to Bonus Drops for Mining in config.yml
  • Added Budding Amethyst to Bonus Drops for Mining in config.yml
  • Added Small_Amethyst_Bud to Bonus Drops for Mining in config.yml
  • Added Medium Amethyst Bud to Bonus Drops for Mining in config.yml
  • Added Large Amethyst Bud to Bonus Drops for Mining in config.yml
  • Added Amethyst Cluster to Bonus Drops for Mining in config.yml
  • Added Deepslate to Bonus Drops for Mining in config.yml
  • Added Cobbled Deepslate to Bonus Drops for Mining in config.yml
  • Added Raw Iron to Bonus Drops for Mining in config.yml
  • Added Raw Gold to Bonus Drops for Mining in config.yml
  • Added Raw Copper to Bonus Drops for Mining in config.yml
  • Added Copper Ore to Bonus Drops for Mining in config.yml
  • Added Deepslate Redstone Ore to Bonus Drops for Mining in config.yml
  • Added Deepslate Copper Ore to Bonus Drops for Mining in config.yml
  • Added Deepslate Coal Ore to Bonus Drops for Mining in config.yml
  • Added Deepslate Diamond Ore to Bonus Drops for Mining in config.yml
  • Added Deepslate Emerald Ore to Bonus Drops for Mining in config.yml
  • Added Deepslate Iron Ore to Bonus Drops for Mining in config.yml
  • Added Deepslate Gold Ore to Bonus Drops for Mining in config.yml
  • Added Deepslate Lapis Lazuli Ore to Bonus Drops for Mining in config.yml
  • Added Lapis Lazuli Ore to Bonus Drops for Mining in config.yml (was missing)
  • Added Cobbled Deepslate to experience.yml for Smelting
  • Added Raw Copper to experience.yml for Smelting
  • Added Raw Iron to experience.yml for Smelting
  • Added Raw Gold to experience.yml for Smelting
  • Added Copper Ore to experience.yml for Smelting
  • Added Deepslate Redstone Ore to experience.yml for Smelting
  • Added Deepslate Copper Ore to experience.yml for Smelting
  • Added Deepslate Coal Ore to experience.yml for Smelting
  • Added Deepslate Diamond Ore to experience.yml for Smelting
  • Added Deepslate Emerald Ore to experience.yml for Smelting
  • Added Deepslate Iron Ore to experience.yml for Smelting
  • Added Deepslate Gold Ore to experience.yml for Smelting
  • Added Deepslate Lapis Lazuli Ore to experience.yml for Smelting
  • Added Lapis Lazuli Ore to experience.yml for Smelting (was missing)

NOTES:
Another patch will follow this one shortly to add more 1.17 support, I am waiting on the Spigot API to test some stuff which isn't out yet.
You shouldn't need to edit your configs for this update, your configs should update automatically.
Expect some patches following this update for Axolotl and other new entities, waiting on the Spigot API to become available
If you run into any issues with ViaVersion or ViaBackwards, use the latest dev builds for each.
----------, Jun 7, 2021

  • Removed the explosion from Rupture
  • Adjusted Rupture to play its particle effect less often
  • Fixed a bug where Rupture never applied to additional targets during Serrated Strikes
  • Fixed a bug where players without Rupture permission could use Rupture during Serrated Strikes
  • Fixed a possible null error for our SelfListener
  • Added locale string 'Swords.Combat.Rupture.Note.Update.One'
  • Updated locale string 'Guides.Swords.Section.1'
  • Crossbows can now be fished up with enchantments
  • (API) Added McMMOEntityDamageByRuptureEvent (thanks qixils)

NOTES:
For now Rupture is non-lethal, I may add back a lethal component at the end of its damage
Rupture will be in a state of change for a while as I receive feedback (give me feedback in Discord!)
Crossbows is not in the default fishing loot list, you'd have to add it yourself.
For Devs: McMMOEntityDamageByRuptureEvent extends EntityDamageByEntityEvent and uses CUSTOM type damage
----------, Apr 23, 2021

  • Fixed a null connection error which affected some SQL users
----------, Apr 19, 2021

  • Fixed an XP exploit
  • Updated SQL to not throw errors if upgrades.yml was reset for any reason
  • Updated SQL to use the newest driver path (and fall back to the old one if the new one doesn't exist on the server)
  • Locale override files are now named locale_override.properties (converted automatically/generated automatically)
  • Existing in use locale override files will be renamed to locale_override.properties and have some useful text put in them
  • mcMMO will now generate a locale override file with some detailed instructions if one doesn't exist (will be found in /plugins/mcMMO/locales/locale_override.properties)

NOTES:
If you were overriding locale before this update mcMMO will just rename the existing override file to locale_override.properties add some useful text and then load it
Remember you can use /mcreloadlocale to swap the edits in without restarting the server
----------, Apr 19, 2021

  • Fixed another bug where mcrank/mctop/leaderboards weren't loading
  • Fixed a bug where override locales weren't being loaded (but worked after a reloadlocale command)
  • (Unit Tests) Added a test to make sure leaderboards for FlatFile were working
  • Fixed blocks being dropped from blast mining even if yield was set to 0 (thanks Warriorrrr)
  • Fixed Tree feller not working entirely if one fake block break event is cancelled. (thanks Warriorrrr)
  • Fixes no woodcutting xp being rewarded if a tree is too big while using tree feller. (thanks Warriorrrr)
  • Updated pl locale (thanks Mich3l3k)
----------, Apr 16, 2021

  • Removed some debug messages from FlatFileDatabaseManager
  • Fixed another bug where player names could be saved as null for FlatFileDB (they will update on the players next login at the next save interval)
  • (API) Removed deprecation from com.gmail.nossr50.api.ExperienceAPI.getOfflineProfile(java.lang.String)
  • (API) Added com.gmail.nossr50.api.DatabaseAPI.doesPlayerExistInDB(org.bukkit.OfflinePlayer)
  • (API) Added com.gmail.nossr50.api.ExperienceAPI.getOfflineProfile(org.bukkit.OfflinePlayer)
  • (API) Added com.gmail.nossr50.api.ExperienceAPI.getOfflineXP(org.bukkit.OfflinePlayer, java.lang.String)
  • (API) Added com.gmail.nossr50.api.ExperienceAPI.getOfflineXPRaw(org.bukkit.OfflinePlayer, com.gmail.nossr50.datatypes.skills.PrimarySkillType)
  • (API) Added com.gmail.nossr50.api.ExperienceAPI.getOfflineXPRaw(org.bukkit.OfflinePlayer, java.lang.String)
  • (API) Added com.gmail.nossr50.api.ExperienceAPI.getOfflineXPToNextLevel(org.bukkit.OfflinePlayer, java.lang.String)
  • (API) Added com.gmail.nossr50.api.DatabaseAPI.doesPlayerExistInDB(java.lang.String)
  • (Unit Tests) Added some more unit tests to FlatFileDB
----------, Apr 15, 2021

  • Fixed a bug related to our blocktracker
  • Fixed a bug that prevented the leaderboards from working on FlatFile in some circumstances
  • Some minor optimizations to our Block events
  • (Unit Tests) Added a test for initializing the leaderboard on FlatFile
----------, Apr 15, 2021

Fix null error in BitSetChunkStore
----------, Apr 15, 2021

  • Fixed a bug that would remove components from death messages when players were killed by mobs (thanks lexikiq)
  • Rewrote how FlatFileDatabase verifies data integrity
  • FlatFileDatabase has much better data validation and will repair broken/invalid data much better
  • Fixed a bug where FlatFileDatabase users could have their names saved as "null" (names will be fixed the next time the player logs in)
  • Added 20~ unit tests for FlatFileDatabaseManager (see notes)
  • FlatFileDB now stores the last login of users again (was completely non functional for a while)
  • Newly created flat file databases (mcmmo.users file) will have a comment line at the top noting the date the database was created
  • Minor performance optimizations to FlatFile database
  • mcMMO will once again purge old users if the config option is on (see notes)
  • Fixed a bug where FlatFileDatabaseManager didn't properly upgrade older database entries to the newest schema
  • The setting to disable the mcMMO user block tracker has been moved from our "hidden config" to persistent_data.yml
  • Added 'mcMMO_Region_System.Enabled' to persistent_data.yml (don't touch this setting unless you know what you are doing)
  • Removed MHD command (it didn't do anything for a while now)
  • Removed UltraPermissions warning
  • Updated pl locale (Thanks Mich3l3k)
  • Fixed an IllegalPluginAccessException error that could happen during server shutdown
  • Minor performance optimizations to misc parts of the codebase
  • (API) Added com.gmail.nossr50.database.DatabaseManager.loadPlayerProfile(org.bukkit.OfflinePlayer)
  • (API) Deprecated com.gmail.nossr50.database.DatabaseManager.loadPlayerProfile(java.util.UUID, java.lang.String)
  • (API) Removed com.gmail.nossr50.database.DatabaseManager.newUser(java.lang.String, java.util.UUID)
  • (API) PrimarySkillType will soon be just an enum with nothing special going on
  • (API) Deprecated the members of PrimarySkillType use mcMMO::getSkillTools instead, deprecated members will be removed in Tridents & Crossbows (due soon)
  • (API) Some members of PrimarySkillType were removed and not deprecated (such as the field constants)

NOTES:
I spent over 26 hours refactoring FlatFileDB and writing unit tests for it, this will ensure that any changes in the code that could break the database are caught at compile time (so long as we have enough tests, could probably use more)
Regarding purging old users on the FlatFileDB, since this wasn't functioning for a while, the last login of users has been reset and if mcMMO hasn't seen that user since this update, it won't purge them as it has no way to know if they are truly an old user
I'm likely going to add SQLite DB as an option in the future, I spent time to fix up the FlatFileDB as some Unit Testing practice.
Ultra Permissions is SAFE to use with mcMMO, disregard previous messages stating otherwise
After getting in contact with the UltraPermissions devs and exhaustive testing, I have concluded that using UltraPermissions is completely safe with mcMMO. The users who had an issue with performance currently have an unknown cause, potentially it is from a plugin using the UltraPermissions API I really can't say without more data. My apologies to the UltraPermissions team for reporting an issue between our two plugins directly, as that is not the case. I would have tested it myself sooner but UltraPermissions was closed source and premium so I wasn't particularly motivated to do so, however I have been given access to the binaries so now I can do all the testing I want if future issues ever arise which I have zero expectations that they will.
----------, Apr 15, 2021

  • Updated default entries in treasures.yml to use "Level_Requirement" instead of "Drop_Level"
  • Fixed a bug where excavation treasures only required level 0 instead of loading the value from the config
  • Fixed a bug where /fishing was showing the wrong shake chance
  • Default Shake chance increased from 15% to 30% (update advanced.yml manually or delete the file to regenerate it and receive these changes)
  • Removed entries for ranks 2-8 of Shake from advanced.yml (Shake only has one rank, the extra entries were a mistake)
  • Modified the warning about UltraPermissions
  • Removed the debug message about potentially unused keys (only shown if you had debug mode enabled in config.yml)

NOTES:

This update makes changes to treasures.yml automatically to apply the fix, you don't need to do anything
UltraPermissions devs are working on a fix for the performance issue bug
----------, Apr 5, 2021

  • Fixed a ClassCastException error involving Rupture
----------, Apr 3, 2021

  • Rupture has been reworked to solve a few outstanding issues (see notes)
  • Fixed an exploit involving enchantments (thanks TheBusyBiscuit)
  • Fixed a very small memory leak that would only happen in very rare situations
  • Fixed a bug where XP wasn't granted while sneaking and interacting with a berry bush
  • Gore no longer applies Rupture
  • Gore no longer sends a message to the Wolf owner when it triggers
  • Gore no longer sends a message to players that are hit by it
  • Rupture no longer sends a message telling you that your target is bleeding
  • Updated locale string 'Swords.SubSkill.Rupture.Description'
  • Updated locale string 'Swords.SubSkill.Rupture.Stat.Extra'
  • Updated locale string 'Swords.Combat.Rupture.Note'
  • Added locale string 'Swords.SubSkill.Rupture.Stat.TickDamage'
  • Added locale string 'Swords.SubSkill.Rupture.Stat.ExplosionDamage'
  • Added 'Skills.Swords.Rupture.Rupture_Mechanics.Chance_To_Apply_On_Hit' to advanced.yml
  • Added 'Skills.Swords.Rupture.Rupture_Mechanics.Duration_In_Seconds.Against_Players' to advanced.yml
  • Added 'Skills.Swords.Rupture.Rupture_Mechanics.Duration_In_Seconds.Against_Mobs' to advanced.yml
  • Added 'Skills.Swords.Rupture.Rupture_Mechanics.Tick_Interval_Damage.Against_Players' to advanced.yml
  • Added 'Skills.Swords.Rupture.Rupture_Mechanics.Tick_Interval_Damage.Against_Mobs' to advanced.yml
  • Added 'Skills.Swords.Rupture.Rupture_Mechanics.Explosion_Damage.Against_Players' to advanced.yml
  • Added 'Skills.Swords.Rupture.Rupture_Mechanics.Explosion_Damage.Against_Mobs' to advanced.yml
  • Removed 'Skills.Swords.Rupture.ChanceMax' from advanced.yml
  • Removed 'Skills.Swords.Rupture.MaxBonusLevel.Standard' from advanced.yml
  • Removed 'Skills.Swords.Rupture.MaxBonusLevel.RetroMode' from advanced.yml
  • Removed 'Skills.Swords.Rupture.MaxTicks' from advanced.yml
  • Removed 'Skills.Swords.Rupture.BaseTicks' from advanced.yml
  • Removed 'Skills.Swords.Rupture.DamagePlayer' from advanced.yml
  • Removed 'Skills.Swords.Rupture.DamageMobs' from advanced.yml

NOTES:

The old Rupture would constantly interfere with your ability to do a Sweep Attack/Swipe with swords, the new one solves this problem
Targets will bleed and take "pure" damage while bleeding, this never kills the target. It will reduce them to 0.01 HP.
After 5 seconds of not applying Rupture on the target Rupture explodes dealing a large amount of damage, this damage is not pure and is affected by armor etc.
Rupture no longer tells you that you that you applied it to the target, it should be obvious from the sounds/particle effects
The new Rupture no longer constantly interferes with the vanilla Swipe (the AOE attack built into Minecraft)
The new Rupture has not had a fine tuned balance pass, I will be balancing it frequently after this patch, it may be too weak or too strong in its current form
Rupture does not stack between players, whoever applied Rupture first determines its strength, this will change in the future (Stronger Ruptures will overwrite weaker ones)
When you reapply rupture it immediately triggers a damage tick
----------, Apr 3, 2021

Details of this fix are left out on purpose, update immediately.


  • Fixed an XP Exploit
----------, Apr 2, 2021

  • Removed April Fools event
  • Fixed a bug where the default treasures.yml file had incorrect keys (see notes)

NOTES:
mcMMO will fix bad config files automatically, you don't need to do anything yourself
----------, Mar 31, 2021

  • Players now gain Acrobatics XP from falling even if they don't have the Roll permission node (checks for Acrobatics skill permission)
  • treasures.yml now has separate settings for Drop_Level for Standard/Retro mode (see notes / this change is automatic)
  • Updated Russian locale (thanks ImDaniX)
  • Added Donkeys to beat lore (thanks QuantumToasted)
  • Alchemy guide now correctly labels Rabbit's foot for potion of leaping (thanks mldriscoll)
  • Fixed an exploit where sweet berry bushes would give XP in situations where they shouldn't
  • The /mmoinfo for Roll is removed for the time being, it will return in a future update (see notes)

NOTES:
Just to be clear you don't need to edit your config files this update as the changes are handled automagically
Previously treasures.yml would take drop_level and multiply it by 10 if you were on Retro Mode, this is confusing so it has been changed
treasures.yml will update old entries to follow the new format automatically, please review them to make sure they match expected values, and if not edit them and save then reboot your server
Roll is actually the only skill that had an /mmoinfo, its one big mess, I'll fix it in the future
----------, Mar 31, 2021

  • Players now receive XP from harvesting Sweet Berry bushes (double XP for harvesting fully grown berries)
  • Fixed an error when using mcMMO with Featherboard that broke mcMMO skill boards when using certain commands
  • Fixed a NPE with Scoreboards enabled when trying to update scoreboards
  • Added 'Scoreboard.Recovery' locale key
  • Sweet Berry Bush will no longer ready tools for Super Abilities
  • You can now use '.all' (for example: mcmmo.perks.xp.customboost.all) to give an XP perk to all skills
  • Removed hardcore and vampirism commands, these commands are dangerous, just modify the config file if you want to use hardcore / vampirism
  • Fixed several errors in de locale (Thanks TheBusyBiscuit & w1tcherrr)
  • Fixed a bug where double smelt never succeeded if the furnace was empty (but worked normally afterwards)
  • Added some safety so that mcMMO automatic save interval is never more frequent than 1 minute
  • Removed a few silent exceptions for scoreboards & mcMMO
  • Added warning about UltraPermissions to mcMMO
  • Fixed a potential NPE in McMMOPlayerExperienceEvent
  • Added Sweet Berry Bush to config.yml bonus drops for Herbalism

NOTES:

Sweet Berry Bushes won't give double drops for now, looking into an elegant solution
mcMMO will do a better job reporting if something went wrong with scoreboards, which may lead to improved plugin compatibility between mcMMO and other plugins touching scoreboards.
----------, Mar 25, 2021

  • mcMMO no longer pointlessly tries to check for missing UUIDs for FlatFile database
  • Removed the "name change detected" message as some plugins (such as Plan) invoke API calls which spams the console with this message
  • Refactored code related to loading player data from the database
  • (API) Added DatabaseManager::loadPlayerProfile(String)
  • (API) Removed DatabaseManager::loadPlayerProfile(String, UUID, boolean)
  • (API) Removed DatabaseManager::loadPlayerProfile(String, boolean)
----------, Mar 13, 2021

  • mcMMO will now automatically remove corrupted data from mcmmo.users instead of catastrophic failure
  • When using FlatFile database (the default) mcMMO will try its best to inform you which players had corrupted data when it does repairs
  • Various minor optimizations and tweaks to the FlatFile database
  • mcMMO is now much more verbose when things go wrong with the FlatFile database (removed some silent errors, added more error messages/warnings)
  • mcMMO now uses UTF-8 compliant encoding for SQL databases (utf8mb4)
  • Fixed an SQL issue where unicode player names broke mcMMO
  • Fixed a bug where mcMMO could in some circumstances fail to update SQL schema and mark it as successful
  • Renamed updates.yml to updates_overhaul.yml to avoid some potential issues when upgrading from classic

NOTES:
This update was tested pretty thoroughly so it should be safe, let me know if you have issues in the mcMMO discord or GitHub issues page for mcMMO!
----------, Mar 11, 2021

  • Fixed a bug for FlatFile databases where some players with changed nicknames would have their levels not loaded upon login (possibly wiping their data)

NOTES:
Players affected by this bug (introduced in 2.1.177) may have their data lost, but this patch reverts the change which caused this bug.

I suspect their data isn't lost and may be restored after this patch is loaded up, however if it is lost mcMMO makes regular backups so you can load one of those (check <Server Directory>/plugins/mcMMO/) or manually edit their levels via MMOEDIT as a solution of sorts.

I'm sorry about this bug! :cry:
----------, Mar 7, 2021

  • This update fixes an error that can happen if you have vanilla treasure override turned on and a player uses the Fishing skill
  • Item replacement in vanilla fishing override back to SALMON from AIR (see notes)

NOTES:
Apparently can't set items to AIR, my bad. I'll look into another solution for fishing plugin compatibility soon.
----------, Mar 6, 2021

  • Environmentally aware will now protect Wolves from Magma blocks
  • Fixed a bug where mcMMO would fail to update a players name when it detected a name change
  • mcMMO will treat vanished players as if they are offline when using the inspect command on them now (see notes)
  • mcMMO now listens to PlayerFishEvent at HIGH event priority instead of HIGHEST
  • Changed how vanilla fishing treasures are overridden (AIR instead of SALMON)
  • (API) Added McMMOReplaceVanillaTreasureEvent -- see notes

NOTES:
A few changes were made to the inspect command, it used to reject you when used on vanished players, now it will be processed as if they are offline.
Additionally if you do inspect a vanished player, it will not use their display name (consistent with offline players) as that would give them away for being online
McMMOReplaceVanillaTreasureEvent is an event which is fired when mcMMO replaces a vanilla treasure with AIR if the server config file is set to override vanilla treasures, this causes some issues for other fishing plugins so this event helps those plugins be more compatible
----------, Mar 5, 2021

  • Small hotfix to fix Double Smelt making item stacks of illegal values

The endgame content for mcMMO is now being split into multiple updates, this will be rolled out as I see fit but you can expect the first part of this update to arrive in the near future. I am doing this so I can focus on Tridents & Crossbows and work on the "endgame" stuff casually without lumping it all into one update.


( This was "fixed" before, now its double fixed :eek: )
----------, Mar 4, 2021

Small hotfix before a larger update comes out, enjoy!

  • Fixed a bug where mcMMO would occasionally give a 65 item stack from a double smelt on a furnace
  • Fixed a bug where arrows could be duped when fired from a crossbow with piercing enchantment
  • Added setting to enable or disable Green Thumb automatically replanting crops per crop to config.yml under 'Green_Thumb_Replanting_Crops' section
  • Updated Adventure (our text dependency) fixes some errors when using color codes in party/admin chat (thanks TheBusyBiscuit)
  • Added some support for negative Y values in anticipation of 1.17 world height changes (thanks t00thpick1)
----------, Feb 27, 2021

  • Some legacy color codes in our locale file were swapped to &-code equivalents (thanks ViaSnake)
  • Updated hu_HU locale (thanks andris155)
  • Updated ru locale (thanks imDaniX)
  • Updated fr locale (thanks Elikill58)
  • (API) Added SubSkillBlockEvent for some SubSkill events that have a block (eg: Green Thumb Block events)
  • (API) Green Thumb (Block) now fires a SubSkillBlockEvent which is cancellable
  • (API) Green Thumb (Plant) now fires SubSkillBlockEvent which is cancellable
  • (API) Shroom Thumb now fires a SubSkillBlockEvent which is cancellable

NOTE: A lot of sub-skills without random chance elements are missing events, this will be cleaned up in the near future. If you need something specific added sooner than that, post a GitHub issue for it and I'll patch it in.
I'm likely to separate Green Thumb into two distinct skills in an upcoming patch
Only Green Thumb/Shroom Thumb trigger the new SubSkillBlockEvent for now

I am now working on an upcoming patch to add some end-game progression to mcMMO, you can read about it below

https://docs.google.com/document/d/1_o2kD-DClDorpgoX7kmFKiW398dTIRgrDESdOauV1DQ/edit?usp=sharing
----------, Feb 3, 2021

  • The experience orbs dropped by Knock on Wood rank 2 during Tree Feller are now much less frequent but provide more XP
  • mcMMO no longer damages fishing rods or drains a player's hunger when fishing
  • Fixed a visual bug where players who had lucky perk were shown incorrect odds when using skill commands (such as /axes)
  • Updated ja_JP locale (thanks ViaSnake)
  • Fixed a bug where scoreboards were torn down inappropriately when moving to or from blacklisted worlds (thanks steve4744)
  • Updated kyori's adventure library to 4.4.0 (used by mcMMO to handle text components)
----------, Jan 26, 2021

  • Updated german locale (thanks TheBusyBiscuit)
  • Added 'mcmmo.broadcast.levelup' permission node, if a player lacks this node they will not have their level up milestones broadcast to chat, this is a default permission node
  • Power Levels are now included in level up broadcasts and they have their own settings (mirroring the existing settings for skill broadcasts)
  • Added 'General.Level_Up_Chat_Broadcasts.Broadcast_Powerlevels' to config.yml
  • Added 'General.Level_Up_Chat_Broadcasts.Broadcast_Powerlevels.Enabled' to config.yml
  • Added 'General.Level_Up_Chat_Broadcasts.Broadcast_Powerlevels.Milestone_Interval' to config.yml
  • Added 'General.Level_Up_Chat_Broadcasts.Broadcast_Powerlevels.Broadcast_Targets.Send_To_Console' to config.yml
  • Added 'General.Level_Up_Chat_Broadcasts.Broadcast_Powerlevels.Broadcast_Targets.Only_Party_Members' to config.yml
  • Added 'General.Level_Up_Chat_Broadcasts.Broadcast_Powerlevels.Broadcast_Targets.Only_Same_World' to config.yml
  • Added 'General.Level_Up_Chat_Broadcasts.Broadcast_Powerlevels.Broadcast_Targets.Distance_Restrictions.Restrict_Distance' to config.yml
  • Added 'General.Level_Up_Chat_Broadcasts.Broadcast_Powerlevels.Broadcast_Targets.Distance_Restrictions.Restricted_Radius' to config.yml
  • Added 'Broadcasts.PowerLevelUpMilestone' to locale
  • You can now disable the XP orbs from being dropped when Knock On Wood triggers during Tree Feller
  • Added 'Skills.Woodcutting.TreeFeller.Knock_On_Wood.Add_XP_Orbs_To_Drops' to advanced.yml
  • Changed Fists to not be capitalized (en_US) when lowering/readying berserk
  • SkillActivationPerkEvent can now be called in async threads (thanks electronicboy)
  • Removed a few never implemented settings from Skills.Woodcutting.TreeFeller in advanced.yml
  • Updated bStats (thanks TheBusyBiscuit)
  • Fixed some incorrect reporting to bStats (I'm so dyslexic...)

NOTES:
The new 'mcmmo.broadcast.levelup' node is a default node included under the 'mcmmo.defaults' node umbrella, you shouldn't have to give this to your players unless they don't have access to 'mcmmo.defaults'

If you don't have a permission plugin you don't need to worry, players will have this node by default in that case

There are situations where level up broadcasts will be skipped, for example if you go from level 0 -> 101 via addlevels or mmmoedit, and your broadcast interval is 100, it will be skipped as 101 falls out of this interval, this kind of skip only applies to command based leveling. Players gaining levels naturally should never have their broadcasts skipped. I'll fix this particular interaction in the future so that command based leveling never skips over milestone broadcasts, but for now it does.

Been feeling a bit depressed lately, working on it though!
----------, Jan 21, 2021

  • Fixed a bug where arrows shot by infinite bow enchant would duplicate
  • Fixed a bug where Archery XP would calculate incorrectly
  • Axes can now replant cocoa plants (thanks Lyther)
  • Players who level up at certain milestones have their level ups broadcast to the server (very configurable and optional, see notes)
  • New locale string 'Broadcasts.LevelUpMilestone'
  • Added 'General.Level_Up_Chat_Broadcasts.Enabled' to config.yml
  • Added 'General.Level_Up_Chat_Broadcasts.Milestone_Interval' to config.yml
  • Added 'General.Level_Up_Chat_Broadcasts.Broadcast_Targets.Send_To_Console' to config.yml
  • Added 'General.Level_Up_Chat_Broadcasts.Broadcast_Targets.Only_Party_Members' to config.yml
  • Added 'General.Level_Up_Chat_Broadcasts.Broadcast_Targets.Only_Same_World' to config.yml
  • Added 'General.Level_Up_Chat_Broadcasts.Broadcast_Targets.Distance_Restrictions.Restrict_Distance' to config.yml
  • Added 'General.Level_Up_Chat_Broadcasts.Broadcast_Targets.Distance_Restrictions.Restricted_Radius' to config.yml

NOTES:

The new broadcast system is very configurable, you could set the milestone interval to 1 if you want players to always be informed when someone levels up

With default settings, messages are broadcast to all players on all worlds and to the server console when a player hits a level up that is a 100 interval, for example level 100, 300, 600, 2200 would all qualify
You can change the settings to specify who receives these messages or turn the whole system off

The message is customizable via locale: https://mcmmo.org/wiki/Locale

There are comments in config.yml above each setting (as long as YAML doesn't move comments around chaotically...) that explain each setting

In case your comments are missing, here's what they look like by default: https://gist.github.com/nossr50/baf656477c75663e9e2f9284acee8d67
----------, Jan 7, 2021

Reverted a change that broke compatibility with the mcMMO papi ecloud thingy
----------, Jan 5, 2021

  • Fixed a few memory leaks involving arrows
  • Fixed mcMMO inappropriately assigning metadata to projectiles not fired from players
  • Fix mctop not working if locale was set to something other than en_US
  • mcMMO will now always emulate lure in order to stack it correctly and avoid vanilla bugs
NOTES:
Stop finding bugs or I won't be able to work on Tridents & Crossbows! :eek: ( this message is meant to be playful and not taken seriously)
----------, Jan 5, 2021

Thanks to @t00thpick1 for his work on this update
  • Fixed an IndexOutOfBoundsException error when trying to access UserBlockTracker from an invalid range (thanks t00thpick1)
  • (API) UserBlockTracker is now the interface by which our block-tracker will be known (thanks t00thpick1)
  • Optimized memory access for Acrobatics fall anti-exploit mechanics (thanks t00thpick1)

I'll be mostly focusing on T&C after this patch, there are some existing minor barely worth fixing bugs that I'm aware of but I don't know if I'll put out 2.1.169 anytime soon, it will come eventually though. My main intent is to focus on T&C.
----------, Jan 3, 2021

  • Fixed a serious dupe bug
  • Add McMMOPlayerPreXpGainEvent event for plugins to modify given exp (thanks electronicboy)
  • Add SkillActivationPerkEvent (thanks electronicboy)

NOTE:
This bug was introduced in 2.1.165, update immediately if you are on 2.1.165 or 2.1.166
----------, Jan 2, 2021

  • Fixed a small memory leak in the new COTW tracker
  • Potentially fixed a ConcurrentModificationException involving the TransientEntityTracker (report this error if you encounter it)
  • Music discs removed from the default fishing_treasures.yml
  • Optimized how mcMMO saves player data (should improve timings on servers with bad disk speeds and or bad connectivity to their SQL server instance)

NOTES:

No one likes fishing up music discs, if you want this change it is recommended you delete fishing_treasures.yml and let it regenerate

(You won't have this file if you haven't updated in a while, if so you don't need to do anything)

If any of you encounter a ConcurrentModificationException error that mentions TransientEntityTracker in its stack trace after this update let me know, I have another fix in mind for this if this update didn't fix it.
----------, Jan 1, 2021

  • Fixed a bug where Enchanted Books dropped by mcMMO (in Fishing) did not function correctly
  • The mcMMO system which tracks player placed blocks has had some major rewrites (thanks t00thpick1)
  • Optimized our ChunkUnloadEvent, this should improve timings in this area
  • How mcMMO tracks COTW entities has been rewritten
  • When COTW summons are killed players are now informed (from anything other than the time expiring).
  • mcMMO will now be compatible with changes to world height (1.17 compatibility)
  • mcMMO will ignore EntityPickupItemEvents from "Fake-Player" NPCs if it recognizes them as such, this will prevent some compatibility issues with some plugins
  • SuperBreaker will now always activate if the target blocks fastest tool is a Pickaxe (used to require the block giving XP or being considered an ore)
  • Master Angler mentions that it works better with a boat in its hover tip
  • Added missing cooldown locale message 'Commands.Database.Cooldown'
  • Added new locale message 'Taming.Summon.COTW.Removed'
  • Updated locale entry 'Fishing.SubSkill.MasterAngler.Description'

NOTES:
Books dropped before this fix will not be usable and should just be chucked in lava, the broken books have blue names, the working books have yellow names.
t00thpick1 has taken time to rewrite our block meta tracking system to be more efficient, easier to maintain, and support upcoming features such as world height changes
This new system is compatible with the old one, it will convert old files to the new format as needed. You won't even know it is doing anything.
This update shouldn't break anything as the API is the same.

Alright back to work on T&C unless some major bugs come out of this...
----------, Jan 1, 2021

  • mcMMO will now let players use vanilla blocks that have interactions (such as the vanilla Anvil) which are assigned as either Repair or Salvage blocks if a player is sneaking (see notes)
  • The Rarity known as Records has been renamed to Mythic
  • Fishing treasures have been moved from treasures.yml -> fishing_treasures.yml, copy over any custom entries you had from treasures.yml carefully as the config file has changed and you can't just copy paste your old entries without making a few edits
  • Added Enchanted Books to fishing_treasures.yml as Legendary rarity (can drop with any legal enchantment - see notes)
  • Added all Netherite gear to the Mythic rarity in fishing_treasures.yml
  • Added Name Tag to fishing_treasures.yml as Rare rarity
  • Added Netherite Scrap to fishing_treasures.yml as Legendary rarity
  • Added Nautilus Shell to fishing_treasures.yml as Legendary rarity
  • Music Disc rarity in fishing_tresures.yml has been broken up across tiers, they will be more common now.
  • Mythic rarity (formerly known as Records) now allows for Enchantments to be applied to drops (See Notes)
  • New exploit fix setting 'PreventPluginNPCInteraction' which defaults to true, when disabled it will allow combat interactions with "NPC" entities from plugins like Citizens
  • ExploitFix.PreventPluginNPCInteraction Added to experience.yml
  • Modified locale string 'Fishing.SubSkill.TreasureHunter.Stat.Extra' in existing locale files
  • You can now define a whitelist of enchants or a blacklist of enchants for an Enchanted_Book entries in fishing_treasures.yml, see notes for an example

NOTES:

Before reading, keep in mind that Fishing/Excavation are getting a complete loot table rewrite in the future, everything changed in this patch is meant as a temporary quality of life fix until the bigger better change in the future.

Stop using vanilla treasure override if you only used it for Enchanted Books
There's no real reason to allow for vanilla treasures anymore, so if you were using the vanilla treasure override I suggest turning it off. I added most of what vanilla fishing gave you in the latest versions of MC in this update.

Enchanted Book is just for fishing treasures right now...

You can't add Enchanted_Book to any treasures outside of Fishing's treasure drops right now, I'll fix it in an upcoming patch. Well you can add it, but it won't work.

Explanation for renaming Records to Mythic
The rarity formerly known as 'Records' was odd to me, if you got the best possible drop it was always going to be a Music Record drop (using the default mcMMO treasure list), and by default the Records tier had only music records. It was treated differently in the code as well, for example Records drops never had enchantments applied to them. So you could add say NETHERITE_ARMOR to them in your user config and it would never put enchantments on it, that seemed very odd to me.

As a response to this, I've renamed Records as Mythic, I've moved the records into varying tiers, you'll start getting them much earlier now. I've also added Netherite and Enchanted Books to the Mythic tier.
Enchanted Books have been added to Fishing loot, this is a basic hacky work around until the config update comes. Enchanted books can have any legal enchant and you can specify which Enchants a book can spawn with.
Also the Enchantment chance to be applied to the book is completely equal across all enchantments, it does not follow the same logic as applying enchantments to fished up gear.

How to specify enchantments for the Enchanted_Book treasure

Here is an example of using the whitelist or blacklist for an Enchanted_Book entry in fishing_treasures.yml
https://gist.github.com/nossr50/4e15b8ba6915b5a5f516eccfba2d7169
If you can't load this image, at the address of your treasure for example, at Fishing.Enchanted_Book.Enchantments_Blacklist: you define a list (which must follow yaml spec, google yaml linter) of enchants to disallow, likewise at Fishing.Enchanted_Book.Enchantments_Whitelist you can setup a whitelist, if neither is defined then the book can spawn with all possible enchants, if both are defined the whitelist is used instead of the blacklist
Take care when moving any fishing entries you may have defined in treasures.yml over to fishing_treasures.yml, the config file has had a few things changed (as noted in these notes).

When talking about NPCs in the below notes, I am referring to "Fake" Players used in plugins such as Citizens, not Villagers from Vanilla Minecraft or anything labeled NPC in another plugin which does not constitute a "Fake Player"
Historically mcMMO has checked an entity for being a Fake-Player-NPC and backed out of any interaction, this was originally done because of Fake-Player-NPCs that were meant to be invincible/etc and not give XP
However nowadays what a Fake-Player-NPC is used for is pretty loose, mcMMO only has definitions for some NPCs (such as from Citizens) it doesn't know about most Fake-Player-NPCs in most plugins unless they identify themselves in a similar way to the predefined parameters
Leave this new exploit fix setting on true unless you understand the implications

Sneaking to use vanilla anvils... (Only when Vanilla anvils are used for mcMMO Repair)
If you only ran mcMMO on your server you'd have no way to use Enchanted Books if you set the repair anvil to the vanilla anvil, so now you can sneak to open up its menu. By the way, mcMMO has the vanilla anvil as repair's default anvil (instead of iron block which it had been historically).

Anyways, back to work on Tridents & Crossbows update (which has been very fun to work on these past few weeks!)
----------, Dec 29, 2020

  • Fixed the translate URL pointing to the wrong place (thanks chew)
  • Fixed a bug where FlatFile databases would always attempt a UUID conversion task every save operation (every 10 minutes) causing console spam
  • mcMMO will no longer throw errors when incoming XP is below 0 (it will just silently cancel the operation)
  • COTW Summoned entities are now removed when the chunk they are in is unloaded (prevents some exploits)

NOTES:
Seems I skipped releasing 2.1.162, not a big deal though as you should be using this version instead!
I often test in SQL environments so I missed this UUID spam bug, reminder to come bother me on discord if you find any annoying bugs!
Also work on T&C is going great lately, I feel great. Perhaps my depression is getting better!
----------, Dec 17, 2020

It is strongly recommended that you grab this update!

Version 2.1.161

  • Fixed a bug where a bunch of text from mcMMO was never being sent and or being sent as blank messages

NOTES:
Adventure (the chat library we use) had an update that required shading in another new module, but there were no errors thrown without running a jvm debug flag and testing it, which is why I missed it. I also missed it because I don't read update notes very closely


Version 2.1.160

  • Fixed another 9+ year old exploit
  • Silenced a harmless "error" related to Rupture/Bleed often produced when using mcMMO and crazy enchantments together
----------, Dec 10, 2020

  • Fixed another 9+ year old exploit
  • Silenced a harmless "error" related to Rupture/Bleed often produced when using mcMMO and crazy enchantments together

You guys continue to impress me with your bug archaeology, this one was ancient. The nature of the exploit was mostly to repeatedly gain XP in a specific skill that this bug affected but it would require a lot of user effort, honestly it was kind of a poor "exploit" and I doubt anyone who knew of it would "abuse" it as regular gameplay is far more efficient.
----------, Dec 9, 2020

Fixed a memory leak
Updated adventure library (used in our chat code)
----------, Nov 28, 2020

  • Fixed a bug where Lure level 4 and above would break fishing with the new Master Angler
  • URLs in party/admin chat work again (use https:// in front to make links clickable)
  • Updated nl locale (thanks xl3ehindTim)
  • * Added Crossbow to string repairables (Thanks Momshroom)
  • * Added Shield to wood repairables, with oak planks as material (Thanks Momshroom)
  • * Added Elytra and Trident to Other repairables, using phantom membrane and prismarine crystals respectively. (Thanks Momshroom)

NOTES:
* You'll need to update repair.vanilla.yml yourself or delete the file and regenerate it (lazy easy way).

Links in party/admin chat might not be clickable without https:// added in front of the url
Added some stuff to Repair, a rework to Repair is coming in the future, this stuff will work for now as a placeholder.
Master Angler will emulate the effects of Lure if the level is higher than 3 instead of attempting to stack with it to avoid a vanilla Minecraft bug where fish are never caught
----------, Nov 17, 2020

  • Fixed a NPE that prevented the leaderboards from working
----------, Nov 12, 2020

  • Added Woodcutting skill 'Knock on Wood' - This ability gives you goodies (saplings, xp orbs, apples, etc) when using Tree Feller
  • Added new permission node 'mcmmo.ability.woodcutting.knockonwood'
  • Tree Feller no longer gives non-wood items by default, it now requires Knock on Wood for additional loot
  • When you raise your axe you will now see information about any super abilities on CD
  • Fixed a bug where Green Thumb would replant blocks floating in the air
  • Fixed a bug where the admin and party chat toggles in chat.yml didn't function as intended
  • * Fixed a bug where Master Angler rank 1 level requirement was set too high (default configs)
  • Added some errors that trigger if a plugin hooking into mcMMO is grabbing leaderboards for child skills through our SQL/FlatFile class (which don't exist)
  • mcMMO will automatically fix some errors in logic for user settings in skillranks.yml
  • Corrected some logic errors when checking for oddities in skillranks.yml
  • Removed incorrect translations of Master Angler from various locales
  • Modified Master Angler stat lines in /fishing
  • Updated Green Thumb description to mention that it needs a hoe
  • 'Abilities.Limits.Tree_Feller_Threshold' in config.yml now defaults to 1000 instead of 500 (edit your config)
  • Added new locale line 'Woodcutting.SubSkill.KnockOnWood.Name'
  • Added new locale line 'Woodcutting.SubSkill.KnockOnWood.Stat'
  • Added new locale line 'Woodcutting.SubSkill.KnockOnWood.Description'
  • Added new locale line 'Woodcutting.SubSkill.KnockOnWood.Loot.Normal'
  • Added new locale line 'Woodcutting.SubSkill.KnockOnWood.Loot.Rank2'

NOTES:
You don't need to touch your config files unless you want to get the new tree feller threshold (1000 instead of 500), you could also delete config.yml and regenerate it, for all the other config changes in this update, they are handled automagically.
* - If you haven't manually edited your Master Angler entries in skillranks.yml then the previous mcMMO update has rank 1 for Master Angler too high, this update automatically fixes it.
You may have noticed sometimes config file entries are in a strange jumbled order, yeah that's "normal". We'll be moving to HOCON for the config update and wont' have to deal with this crap for much longer.
I'll probably be doing a bunch of tweaks to mcMMO UI in the near future, I don't know, or I'll work on T&C
----------, Nov 10, 2020

  • Master Angler now has 8 ranks
  • Master Angler is now supported by the latest builds of Spigot on 1.16.4
  • Wolves will now earn a lot more XP from combat than before (Wolves are going to be tweaked a lot in the near future)
  • Fixed a bug where Spectral Arrow awarded too much XP
  • Fixed a bug where party members other than the party leader had names that weren't properly hex colored
  • Added 'Skills.Fishing.MasterAngler.Tick_Reduction_Per_Rank.Min_Wait' to advanced.yml
  • Added 'Skills.Fishing.MasterAngler.Tick_Reduction_Per_Rank.Max_Wait' to advanced.yml
  • Added 'Skills.Fishing.MasterAngler.Boat_Tick_Reduction.Max_Wait' to advanced.yml
  • Added 'Skills.Fishing.MasterAngler.Boat_Tick_Reduction.Min_Wait' to advanced.yml
  • Added 'Skills.Fishing.MasterAngler.Tick_Reduction_Caps.Min_Wait' to advanced.yml
  • Added 'Skills.Fishing.MasterAngler.Tick_Reduction_Caps.Max_Wait' to advanced.yml
  • Removed Skills.Fishing.MasterAngler.BoatModifier from advanced.yml
  • Removed Skills.Fishing.MasterAngler.BoatModifier from advanced.yml
  • Optimized party/admin chat a bit
  • Added some misc safeguards against possible NPEs
  • Added some debug output when fishing if mmodebug is on
  • (API) Removed AbstractPlayerAuthor#getComponentDisplayName
  • (API) Removed AbstractPlayerAuthor#getComponentUserName
  • (API) Removed Author#getAuthoredComponentName

NOTES:
You don't need to edit anything in your configs for this update!

Master Angler won't work if you aren't on 1.16.4, the truth is it hasn't worked for a very long time (Since before 1.13.2)
The Spigot API related to it has been broken since years and years ago, and they finally updated the API but it is only in the newest builds of Spigot.
If you are on something that doesn't support the new Master Angler that skill will be missing when you type /fishing
The boat bonus for master angler is static and doesn't improve when leveling master angler.
All the new master angler stuff is configurable and can be found in advanced.yml
The configurable reduction tick stuff for master angler is multiplied by the rank level when determining the final bonus (use /mmodebug when fishing to see some details)
Master Angler stacks with the Lure enchant

Removed some unnecessary API, we aren't a chat plugin so these things shouldn't be here.
Slowly adding Nullability annotations to the codebase
----------, Nov 10, 2020

  • Hex colors are now supported in Party & Admin chat
  • Added support for &#RRGGBB color codes (hex colors) in chat and nicknames for party and admin chat
  • Added hex colored nickname support to admin/party chat
  • Fixed a bug where Tree Feller was not dropping some items like saplings
  • Fixed a bug where using admin chat would in some circumstances throw a NPE
  • (API) Author class has been reworked
  • (API) McMMOChatEvent::getSender removed (use getDisplayName() instead)
  • (API) McMMMOChatEvent::setDisplayName() removed
  • (API) Removed Author::setName use Player::SetDisplayName instead
  • (API) Modified Author::getAuthoredName signature to -> Author::getAuthoredName(ChatChannel)
  • (API) Added Author::getAuthoredComponentName(ChatChannel)
  • (API) PartyAuthor and AdminAuthor removed, replaced by PlayerAuthor
  • (API) Probably some more undocumented changes that I'm forgetting...

Notes:
Hex color example usage '/p &#ccFF33hi guys' will send a message colored in hex colors

You'll see ~§x in console when hex color codes are used, this is a quirk of how the 'adventure' library we are using is handling some bungee component related things, so it's outside of my hands for now
----------, Nov 6, 2020

  • Fixed a bug where most sub-skills were not being displayed when using a skills command (for example /taming)
  • Fixed a bug where some URL links were not being colored
  • Updated fr locale (thanks Vlammar)
Here's a reminder that yes, this does work on 1.16.4 (all versions of MC between 1.13.2 -> 1.16.4 work perfectly)
----------, Nov 4, 2020

My GF is now "stable" and my anti depressants have finally kicked in so its time to go back to work.

  • Correct locale usage for enum access, now enforces using the english locale to prevent issues with oddball locales for configs/commands
  • Fixed a NPE that can occur if a player engages in combat with specific skills before their profile is loaded
  • mcMMO is now more compatible with certain mob stacking plugins
  • Improved behaviour for mob health bars
  • Archery's Skill Shot bonus damage is now multiplicative instead of additive (nerfing early game skill shot ranks)
  • Sweet Berry Bush's default Herbalism XP is now 50 instead of 300 (Update your experience.yml or delete it to generate a new one)
----------, Jan 15, 2020

Read the notes at the bottom!
  • mcMMO is compatible with the following versions of MC: 1.15 / 1.14.4 / 1.14.3 / 1.14.2 / 1.14.1 / 1.14 / 1.13.2
  • Further prevent nesting of bleed damage calls
  • Warn about reparable/salvage configs with missing sections
  • Added Bee combat experience modifier to experience.yml (Update your experience.yml file, see notes)
  • Breaking a Bee Nest will result in Herbalism XP (Update your experience.yml file, see notes)
  • Breeding bees will now result in Taming XP (Update your experience.yml file, see notes)
NOTES:
You will need to update your experience.yml by hand or delete it (which will generate a new one on your next restart) to get XP from new things in 1.15
The default version of mcMMO's experience.yml looks like this: https://paste.gg/p/anonymous/15c34df6e60d45d9a3508b379a5e6514
You'll want to add Bee to combat XP section, and Bee_Nest to Herbalism XP, and Bee to Taming XP section.

There's a fix in this update that should hopefully once and for all solve bugs with plugin conflicts and the Rupture skill.

One of the mcMMO devs now has a patreon, you can support him here: https://www.patreon.com/electronicboy/

I pledged to him and you should too!

Other news...


Someone I love dearly has been very sick lately, this has sent me into a pretty deep depression. I just got on 2 new anti-depressants a week ago to help, hopefully I'll be back to normal soon.
----------, Dec 11, 2019

I'd like to take a moment to remind everyone that you can continue to support me financially beyond your purchase of mcMMO via Patreon or Github Sponsors program! Thank you.

  • Fixed a dupe bug
  • Actually fixed Block Cracker
  • You can now crack Infested Stone Bricks with Block Cracker
  • Added Lithuanian locale (thanks Vyciokazz)
----------, Oct 18, 2019

Small patch! 2.2.XX is still underway, I recently changed medications so work slowed down a bit but now I'm feeling a lot better.

I'd like to take a moment to remind everyone that you can continue to support me financially beyond your purchase of mcMMO via Patreon or Github Sponsors program! Thank you.

  • Block Cracker will now correctly crack stone_bricks during Berserk again
  • Added Lily_Of_The_Valley to the Bonus Drops list in config.yml (you'll probably want to add this manually) which enables it to double drop
  • Added missing 1.14 blocks to ability/tool activation blacklists
  • Fixed spamming of incompatible worldguard version message
  • Updated Italian locale (thanks Fabrimat)
----------, Oct 18, 2019

  • Fixed an amusing exploit for easy leveling in Acrobatics
  • mcMMO should no longer break if FAWE is being used in conjunction with WG on the server
  • Improved WG compatibility, mcMMO will now check if WG has loaded properly before hooking into it, which will prevent mcMMO from breaking if WG could not load properly.
  • mcMMO now loads after worlds do during start up (which is what it should be doing)

NOTES:
If you use FAWE it will no longer break mcMMO, however the WG features in mcMMO required WorldEdit to be present and not FAWE, so WG features won't be useable if FAWE is being used instead of WorldEdit.

Mobs will now only reward Dodge XP a certain amount of times
You can turn off this exploit prevention by disabling ExploitFix.Acrobatics in experience.yml
----------, Sep 20, 2019

If you downloaded a previous version of 2.1.107 uploaded yesterday, that was actually a build of 2.1.101 by accident, please download again.

  • Fixed an exploit that allowed automated XP gain for Excavation
  • Fixed encoding of russian translation
  • New API event McMMOPlayerProfileLoadEvent (thanks Shrek5InTheatres2019)
----------, Sep 15, 2019

  • Fixed an exploit that allowed automated XP gain for Excavation
  • Fixed encoding of russian translation
  • New API event McMMOPlayerProfileLoadEvent (thanks Shrek5InTheatres2019)
----------, Sep 14, 2019

More blocks have been added to the ability blacklist to prevent tool readying messages from being spammed with new 1.14.X blocks.

  • Added a few missing blocks to the ability blacklist tables (prevents readying/using abilities on certain blocks that have right click functionality)
  • Updated Japanese locale (thanks ethernetcat)
  • Updated Simplified Chinese locale (thanks Fu_Meng)
----------, Sep 6, 2019

  • mcMMO will reset players scoreboard to the main scoreboard if they move into a blacklisted world
  • Beast lore now shows max jump height and other tweaks (Thanks QuantumToasted)
  • If the server has enabled level caps (which are not on by default) players will be shown that they are at max level instead of seeing how much XP needed to reach an impossible level (thanks Shrek5InTheatres2019)
  • Large update to Italian locale (thanks Leomixer17)

NOTES:
The scoreboard change should result in mcMMO removing scoreboards from players properly when they enter a black listed world. This is a hacky band aid fix as our scoreboard code is archaic and needs to be rewritten in 2.2 and not 2.1. Expect a scoreboard overhaul sometime in the future.
----------, Sep 3, 2019

  • Fixed a bug resulting in many errors when using Rupture
  • Large update to the Japanese locale (thanks ethernetcat)
  • Updated Hungarian locale (thanks andris)
----------, Aug 25, 2019

  • Treasure item amount will default to 1 if not specified instead of breaking mcMMO
  • Fishing treasures will now return the amount defined in treasures config file, an option to randomize amounts will be coming in the future. See notes.
  • Fixed a bug where Tree Feller was only rewarding 1 XP per log broken no matter the circumstances
  • Fixed an issue with salvage checking the incorrect level requirement
  • Updated Italian locale (thanks Leomixer17)
  • Fixed grammar in one of the Salvage strings (thanks QuantumToasted)

NOTES:
Sometime in 2014 a decision was made that any fishing treasure over the amount of 1 will be randomized in its yield, while this is not necessarily a bad thing it means control over the drop is a bit random. I've removed this randomness temporarily, in the future you will be able to chose if the amount is randomized or static.
----------, Aug 24, 2019

  • Scoreboards will now be removed from players who teleport to a blacklisted world
  • Fixed a bug where Rupture could trigger itself
----------, Aug 21, 2019

I'm done moving after tonight, its been super hard. I'm going to take a break to unwind, see you guys on the 13th.

  • Fixed an exploit where chorus plants could be used to gain automatic XP
  • Added blast furnace, cartography table, grindstone, lectern, loom, scaffolding, smoker, stonecutter, and sweet berry bush to the list of internal blocks that don't trigger tool readying
----------, Aug 9, 2019

  • Fixed a bug where plants could double drop when the skill was not yet unlocked
  • Fixed a bug where plants ALWAYS double dropped
  • mcnotify command now checks that it's being executed by a player
  • Fixed some concurrency concerns around BleedTasks
  • Fixed an NPE that may occur with random chances on a player without loaded data
  • Updated Russian locale (thanks myfbone!)
I'm sorry for the slowdown on updates, I'm currently moving and I'm gonna be spending the rest of today unpacking. :)
----------, Aug 5, 2019

  • MASSIVE update to the Russian locale (ru) credit to myfbone
  • Debug mode (/mmodebug) will now print info about XP perks and how they are modifying your incoming XP

Spreading awareness about a new plugin from a friend!
Hey guys! A good friend of mine ( @bloodmc ) recently released his first premium plugin. This plugin has been worked on for over 4 years and is certifiably bad ass. I'd like you to go check it out, its an anti-grief / land claim plugin.

The name of his plugin is GriefDefender. blood is a veteran developer most known for creating MCPC+, Cauldron, and Sponge. Hes an expert among experts so to speak, this plugin is quality stuff.
----------, Jul 26, 2019

Spreading awareness about a new plugin from a friend!
Hey guys! A good friend of mine ( @bloodmc ) recently released his first premium plugin. This plugin has been worked on for over 4 years and is certifiably bad ass. I'd like you to go check it out, its an anti-grief / land claim plugin.

The name of his plugin is GriefDefender. blood is a veteran developer most known for creating MCPC+, Cauldron, and Sponge. Hes an expert among experts so to speak, this plugin is quality stuff.


Version 2.1.98
  • Fixed a bug that prevented Taming XP from combat
----------, Jul 25, 2019

I've been in the middle of moving into a new place, sorry for the slowdown in updates during this transitional time period! I'll be picking up the pace again.

Version 2.1.97
  • mcMMO is compatible with 1.14.4 (Didn't require any changes)
  • Fixed a NPE that could occur if a pet participated in combat and its master's mcMMO data was not available
  • mcMMO now properly closes its region files as it creates them (thanks Yukiiro-Nite)
  • Updated Hungarian locale (thanks andris)
----------, Jul 23, 2019

Expect 2.1.XX updates to slow down for a bit as I shift gears and focus on getting 2.2 complete.

  • Added the setting 'Skills.General.LimitBreak.AllowPVE' to advanced.yml to allow Limit Break damage bonus to apply in PVE again, defaults to false
  • Updated Limit Break locale strings
  • Fixed a few more places where 'Archaeology' was misspelled in the locale
  • Added the setting 'ExploitFix.PistonCheating' to experience.yml at the request of a user
  • Added a missing 's' to Nether_Bricks (thanks Sikatsu) in experience.yml

NOTES:
The Skill Tooltips are a bit limited right now, in the future they will be more flexible. In order to reflect that Limit Break doesn't always work in PVE (now up to server settings) I added a crappy note to its hover window tip. I'll be fixing this in the future.

You shouldn't need to update you config entry for Nether_Bricks, I believe that file updates automatically (the old config system is a bit janky, some stuff updates, some other stuff doesn't.)

PistonCheating prevents blocks from being marked "natural" once they've been moved, we've never had an option for this before.
A discord user requested it, its a strange request but I added it anyways.
Of course, it defaults to "true" which prevents cheating with pistons.
----------, Jul 8, 2019

  • Added missing Chorus_Fruit & Chorus_Plant entries to Herbalism's Bonus Drops in config.yml (See notes)
  • Limit Break now does dramatically less damage to players with lower grades of armor
  • Limit Break damage bonuses now only apply to Players
  • Updated in game text to reflect changes to Limit Break
  • Fixed a bug where opponents used your stats instead of their own to activate Iron Grip
  • Fixed a bug preventing Wandering Traders from granting XP
  • Fixed a bug that prevented Chorus Tree's from giving full XP if you broke anything other than the bottom block
  • Fixed a bug which could cause Large Fern's to reward less XP
  • Fixed a bug where certain herbalism crops could have fewer than intended bonus drops
  • Fixed a bug involving Ender Pearl and Acrobatics
  • Added some protection to Acrobatics to prevent gaining too much XP in one Roll.
  • Added 'Carrots, Cocoa, Potatoes, Wheat, Beetroots, Nether_Wart' to Herbalism in experience.yml (See notes)
  • Removed the _Ripe entries from experience.yml (no longer used)
  • Updated locale string 'Swords.SubSkill.SwordsLimitBreak.Description' & 'Swords.SubSkill.SwordsLimitBreak.Stat'
  • Added missing 'Chorus_Flower' entry to herbalism in experience.yml
  • Added some debug messages about XP gains if you are in debug mode
  • Added some debug messages for Acrobatics if you are in debug mode
  • Added some debug messages for Herbalism if you are in debug mode

NOTES:
Add 'Chorus_Fruit' and 'Chorus_Plant' under Bonus_Drops.Herbalism in config.yml or you will not be getting double drops for Chorus Fruit.
You shouldn't need to add "Chorus_Flower, Carrots, Cocoa, Potatoes, Wheat, Beetroots, Nether_Wart" to your experience file, it seems that config file updates automatically for missing entries.
----------, Jul 7, 2019

New mcMMO Devs!
@electronicboy and @Kashike have joined the mcMMO team! The active dev team is now 3 people strong :cool:, this brings the total number of mcMMO team members up to 4 including @t00thpick1 (Classic Maintainer)

  • 2 new devs have joined the mcMMO team (electronicboy, kashike), bringing the active dev team to 3 including myself! Strings relating to authors of mcMMO have been updated to reflect this
  • Fixed a bug where 2 people using Tree Feller could result in the tree being rejected for being too big
  • New command /mmodebug (or /mcmmodebugmode) - Prints useful information when players punch blocks while they are in debug mode
  • mcMMO no longer prints debug information when you attack stuff with the debug stick, use the new command (/mmodebug) instead
  • Added locale string 'mcMMO.Description.FormerDevs'
  • Added locale string 'mcMMO.Template.Prefix'
  • Added locale string 'Commands.Mmodebug.Toggle'
  • Added locale string 'Commands.Description.mmodebug'
  • Tweaked locale string 'mcMMO.Description'
  • Updated Japanese locale (thanks snake)
  • Updated hu_HU locale (thanks andris155)
----------, Jul 3, 2019

  • Fixed a bug where players would be told they could not breed summoned animals when the animals weren't summoned (bug didn't actually do anything besides send you a message)
----------, Jul 2, 2019

  • Call Of The Wild (COTW) no longer cares if entities of the same type are nearby when attempting to summon a new entity
  • Fixed a bug where COTW summon limit was global instead of per player
  • If you are playing in 1.14 mcMMO will now summon cats instead of ocelots
  • The default summon limit for COTW is now per player instead of global which is how it should be, for wolves this defaults to 2, for other entities it defaults to 1
  • The COTW setting named Summon_Max_Amount in config.yml has been renamed to Per_Player_Limit
  • By default players are no longer allowed to breed COTW summoned animals with other animals, you can turn this off (see the notes)
  • If a player tries to breed animals with a COTW animal and the server settings prevent this, they are informed via a message that it is not allowed
  • If the COTW summon has a lifespan, players are now informed about this lifespan when the entity is first summoned
  • COTW entities now send the player a message when they die, time out, or get removed through other means
  • COTW summons now have their name prefixed with some colored text to to make it easier to identify them.
  • COTW summons now despawn if their owner logs out
  • There is now a small 150ms window in which you cannot summon an entity via COTW to prevent accidentally summoning extra entities
  • COTW Horses, Cats, and Wolves now always spawn in as adults
  • Changed the sound effect for COTW (Fireworks -> Pop)
  • Most COTW messages have been tweaked and new COTW messages have been added
  • Added new setting to experience.yml 'ExploitFix.COTWBreeding' - Prevents breeding with COTW summoned entities when set to true, defaults to true
  • Removed the 'mcmmo.ability.taming.callofthewild.renamepets' permission node as it is seen as unnecessary

Removed locale strings
  • Taming.Summon.Fail.Ocelot
  • Taming.Summon.Fail.Wolf
  • Taming.Summon.Fail.Horse
  • Taming.Summon.Fail.TooMany
  • Taming.Summon.Lifespan
Added new locale strings
  • Taming.Summon.COTW.NeedMoreItems
  • Taming.Summon.COTW.BreedingDisallowed
  • Taming.Summon.COTW.Success.WithLifespan
  • Taming.Summon.COTW.Success.WithoutLifespan
  • Taming.Summon.COTW.Limit
  • Taming.Summon.COTW.TimeExpired
Tweaked locale string
  • Taming.Summon.Name.Format

NOTES:
I plan to rework Call of The Wild (COTW) significantly in the upcoming content patch, until then I have made several tweaks to it.

COTW Summoning Requirement Changes
It is intentional that you are not supposed to be able to COTW summon something that you already have tamed, but mcMMO was not checking this properly.
So previous to this patch, if you tried to summon a wolf and wolves were nearby, it would fail. This is not intentional behaviour and was a bug.
The correct behaviour is that if you try to summon a wolf and you already have wolves, it should fail.
I was fixing this bug when it occurred to me, why do we even care if nearby tamed wolves owned by you exist if you are trying to summon a temporary one?
As a result of this train of thought, I have removed this restriction on COTW and several other tweaks have been made as a result of this line of thinking.
There was also an issue involving how many COTW entities could be out at once, for some reason the limit was applied globally and defaulted to 10, so if 10 players had COTW entities out no one else would be able to summon anything. I have fixed this.
You can set the lifespan to 0 in the config to make it so that COTW entities last until a server restart or the player logs out.

COTW Breeding Change
It was never intentional for COTW summoned entities to be breedable, by default they will not be. You can change this by setting 'ExploitFix.COTWBreeding' to false in experience.yml
----------, Jul 2, 2019

  • mcMMO is now more compatible with plugins that spawn arrows in unexpected ways, this fixes some NPE in mcMMO when using certain plugins
  • Fixed a bug where Unarmed was using the same CD timer for every player in the server (thanks slop_me)'
NOTES: This unarmed bug would mean that if anyone on the server was using Unarmed, then you would be extremely unlikely to get damage bonuses when using unarmed yourself. This was a huge bug and thanks to slop_me reporting it, it has been fixed.
----------, Jun 30, 2019

If you don't normally read patch notes, I highly recommend you read the changes for 2.1.89 which came out before this patch.

Salvage Changes
  • Salvaged items now travel much slower towards the player
  • Books from salvage will now travel towards the player
  • Salvaged items travelling towards you will now have their speed adjusted based on distance
Mining Changes
  • Common Materials found when mining have had their XP gains reduced and rare materials have had their XP gains increased
  • Diamond Ore has had its XP increased from 750 to 2400
  • Gold Ore has had its XP increased from 350 to 1300
  • Iron Ore has had its XP increased from 250 to 900
  • Lapis Ore has had its XP increased from 400 to 800
  • Nether Quartz Ore has had its XP increased from 100 to 300
  • Redstone Ore has had its XP increased from 150 to 600
  • Blue_Ice has had its default XP value reduced to 15
  • Packed_Ice has had its default XP value reduced to 15
  • Netherrack has had its default XP value reduced to 15
  • Coal Ore has had its XP increased from 100 to 400
  • Stone has had its XP decreased from 30 to 15
  • Granite has had its XP decreased from 30 to 15
  • Andesite has had its XP decreased from 30 to 15
  • Diorite has had its XP decreased from 30 to 15
  • End Stone has had its XP decreased from 30 to 15
  • Glow Stone has had its XP decreased from 30 to 15
  • End Bricks has had its XP decreased from 200 to 50


NOTES:
You can either apply the default XP changes manually to experience.yml or delete it to generate a new file

Sorry about salvaged items traveling too quickly, in testing on my LAN server with ideal conditions they always entered my inventory and never shot past me so the high speed of the items was not an apparent issue.

I've tested the new changes to how they travel towards you pretty thoroughly, they never go fast enough to go past you and they adjust their speed based on distance to you with some speed limitations.
In testing the new tweaks work well whether the salvage anvil is above, below, or at the same height as you.

I'll be tweaking XP values across all skills more carefully in the upcoming content patch due after 2.2. Some tweaks to XP gains will be applied for 2.2.
----------, Jun 26, 2019

A lot of these changes were planned for 2.2, however 2.2 is still quite a ways away and I felt like these changes needed to be in sooner rather than later.

If you are wondering what 2.2 will bring, it will feature a config rewrite, and partial or complete rewrites to the following skills repair, salvage, excavation, fishing, and alchemy. This is on top of many new features including reload support. 2.2 has been in development for almost 5 months now and I hope you guys like it when it comes out.

If you want to help support me on top of the support you've already given by buying the plugin, you can do so on patreon!

Version 2.1.89 Changelog

Many changes were made to this version that affect default values in the config, read the notes carefully if you wish to apply these optional changes. They are optional, so you don't have to. Lazy install instructions are at the top of the notes at the bottom.

mcMMO is compatible with the new 1.14.3, in addition to this it is still compatible with 1.14.2, 1.14.1, 1.14, and 1.13.2. This did not require any changes to be made to mcMMO, but I thought I'd add this to the notes for those wondering.

  • RetroMode is the default level scaling mode again
  • The default level for players has been changed back to 0 from 1 (you can change it back to 1 by editing 'Skills.General.StartingLevel' in advanced.yml) if you wish to apply this change read the notes
  • Super Abilities now scale in length up to level 100/1000 instead of 50/500 by default (you can edit this in advanced.yml under 'Skills.General.Ability.Length.xxx')
  • Early Game Boost now only applies when leveling from level 0 to level 1
  • Removed the config setting 'MaxLevelMultiplier' from experience.yml as it is no longer used.
  • When finding a treasure via Excavation players have a 2-16% chance to have a small amount vanilla experience orbs to be found alongside the treasure, the chance and number of orbs are based on the players Archaeology rank
  • Tweaked the locale string 'Excavation.SubSkill.Archaeology.Description'
  • Added locale string 'Excavation.SubSkill.Archaeology.Stat'
  • Added locale string 'Excavation.SubSkill.Archaeology.Stat.Extra'
  • Tweaked the locale string 'Fishing.SubSkill.MasterAngler.Stat'
  • The interval at which you can gain Acrobatics XP from fall damage has been reduced to 3 seconds from 10 seconds, this will be configurable in 2.2.
  • When using WorldGuard (WG) with mcMMO, mcMMO now examines WG more carefully to determine if it is a compatible version or not, see the notes. Keep in mind WG is optional and not needed to run mcMMO.
  • Fixed a bug that could result in Tree Feller failing to remove parts of a tree in snowy biomes. (This fix won't apply retroactively to old trees, see the notes)
  • Updated Japanese locale (thanks snake)
  • Tree Feller and other Super Abilities will damage tools with the Enchantment named 'Durability/Unbreaking' again, this does not apply to the NBT tag named Ubreakable (Unbreakable NBT tag is safe from damage however, try not to confuse them as they share similar names)
  • Added new setting 'ExploitFix.TreeFellerReducedXP' to experience.yml
  • Tree Feller will no longer give full XP for each block destroyed and instead give diminishing returns on XP for each block removed. You can turn this off by setting 'ExploitFix.TreeFellerReducedXP' in experience.yml to false
  • Many skills which used to unlock at level 5/50 now unlock at level 1 instead
  • Arrow Retrieval now unlocks at level 1 in both Standard and RetroMode
  • Skill Shot now unlocks at level 1 in both Standard and RetroMode
  • Dodge now unlocks at level 1 in both Standard and RetroMode
  • Critical Strikes now unlocks at level 1 in both Standard and RetroMode
  • Armor Impact now unlocks at level 1 in both Standard and RetroMode
  • Beast Lore now unlocks at level 1 in both Standard and RetroMode
  • Call Of The Wild now unlocks at level 1 in both Standard and RetroMode
  • Scrap Collector now unlocks at level 1 in both Standard and RetroMode
  • Treasure Hunter now unlocks at level 1 in both Standard and RetroMode
  • Rupture now unlocks at level 1 in both Standard and RetroMode
  • Iron Arm Style now unlocks at level 1 in both Standard and RetroMode
  • Harvest Lumber now unlocks at level 1 in both Standard and RetroMode
  • Archaeology now unlocks at level 1 in both Standard and RetroMode
  • Repair Mastery now unlocks at level 1 in both Standard and RetroMode
  • Double Drops (Herbalism and Mining) now have ranks and unlock at level 1 in both Standard and RetroMode
  • Concoctions rank 2 now unlocks at Level 1 for both Standard and RetroMode
  • Serrated Strikes now unlocks at levels 5/50 instead of 10/100
  • Berserk now unlocks at levels 5/50 instead of 10/100

NOTES:
I'm looking into adding 1.12.2 support sooner than expected.

Editing your config files is not required for this patch (and never will be), however I would highly recommend it. Read the notes below this line carefully.

LAZY UPDATE INSTRUCTIONS
If you want to update to this patch easily and you don't mind default config values, delete skillranks.yml, advanced.yml, and experience.yml before starting your server with 2.1.89 of mcMMO applied.
-- END LAZY UPDATE INSTRUCTIONS --

Many skills now unlock at level 1 and the default starting level is back to 0. It is recommended you change this number from 1 to 0 manually by editing 'Skills.General.StartingLevel' in advanced.yml or deleting advanced.yml and generating a new file when 2.1.89 starts. On top of this, it is recommended you make the manual edits to skillranks.yml to apply the rank unlock changes or delete skillranks.yml and a new one will be generated once you start 2.1.89.

Early Game Boost was used to help players get to level 5 quickly by boosting their XP until they got there, this caused some confusion as they appeared to be 'learning a skill' for multiple levels, on RetroMode this lasted until level 50.
I have changed Early Game Boost to only last from level 0-1 on both RetroMode and Standard, and now important skills are unlocked at level 1.

I was going to wait until 2.2 was done to deploy this change, but 2.2 is some time away and the previous system was causing some confusion.
Early Game Boost gives players extra XP for skills that are level 0, you can turn this system off by setting 'EarlyGameBoost.Enabled' in experience.yml to false

Early Game Boost will show 'Learning a new skill...' if XP bars are enabled

https://mcmmo.org/wiki/World_guard - A list of WG flags supported by mcMMO.

It is not necessary to have WG installed, but if you do have WG installed mcMMO hooks into it to provide some additional features.
Previously mcMMO used to determine if WG was compatible just by checking to see if it was version 7 of WG, however version 7 of WG is not guaranteed to be compatible as necessary classes that mcMMO hooks into were added during its development and some users are still running early dev versions of WG7.
In order to decrease the chance of error, mcMMO now uses reflection when checking to see if WG is compatible in addition to checking its version number, if its not compatible mcMMO will print a message and refrain from hooking into WG.
WG is an optional dependency for mcMMO, and unfortunately before this change if mcMMO thought you were running a compatible version of WG and it turned out you weren't then mcMMO would not function correctly.

Archaeology does something now, it will be tweaked again in the future. Previously rank 1 of Archaeology was required to find treasures but that was all it did, now each rank of Archaeology also adds a small chance to find experience orbs when a player finds treasure.

In a prior patch I removed damage on tools if they had Unbreakable NBT or Unbreaking Enchantment, at the time I made this change I did not realize they were different things and just shared the same name, this patch fixes this mistake. My intention was to prevent damage on tools with the NBT unbreakable tag which makes an item never suffer from durability loss.
mcMMO reduces damage to tools from super abilities if they have the "Durability/Unbreaking" enchantment already, this behaviour has been in mcMMO for a long time.

Tree Feller will now give reduced XP per block destroyed by Tree Feller and will never go below 1 XP per block, you can turn this off with 'ExploitFix.TreeFellerReducedXP' in experience.yml
There was a bug fixed in this patch that prevents an issue where Tree Feller was not removing all blocks left behind, unfortunately this will only affect new trees made in the world. The only trees that suffered from this bug were ones in snowy areas that had snow form on them.

RetroMode and Standard mode will be getting renamed in 2.2, probably to something like 1000-scale and 100-scale respectively.
Retro Mode was accidental genius is the short reason for the change to make it the default level scaling for mcMMO again.
Standard Mode is not going anywhere, it is just opt-in now instead of the default.

If you delete config.yml you will need to turn RetroMode off to use Standard mode as mcMMO doesn't keep track of what level scaling you are using outside of that.
----------, Jun 25, 2019

  • mcMMO is now more compatible with a plugin named Project Korra
  • mcMMO will no longer process combat triggers for damage at or below 0 (This is before damage reduction from armor etc, nothing in vanilla Minecraft deals 0 damage)
----------, Jun 23, 2019

(Level caps are not on by default in mcMMO, this is something you can turn on)

  • Players who reach either the power level cap or skill level cap will now be informed that they have done so
  • XP Bars will no longer be sent to players who have reached the power level or skill level cap respectively
  • Level up messages will no longer be sent to players who have reached the power level or skill level cap respectively
  • Fixed a bug where mcMMO would send level up notifications to a player if the custom level up event from mcMMO was cancelled
  • New locale strings 'LevelCap.PowerLevel' & 'LevelCap.Skill'
----------, Jun 22, 2019

  • Players will no longer be told they got a perfect result when salvaging if they are below max skill level
  • Salvage results will now travel towards the player instead of moving in a random direction
  • (FIX) You cannot view stats of players who are offline if your server limits the range on inspect for you via permissions or settings
  • (FIX) Players will no longer be told they lack skill in salvage if they already qualify for the best possible result for the item
  • (FIX) Fixed a bug where arcane salvage was being used to calculate salvage results instead of scrap collector
  • (FIX) Added the missing locale color for 'Commands.Party.Commands'
  • Modified colors used in locale strings 'Salvage.Skills.Lottery.Normal', 'Salvage.Skills.Lottery.Perfect', and 'Profile.Loading.FailurePlayer'
  • When failing to load a profile mcMMO will increase the amount of time it waits before reattempting to load the profile for each failure

NOTES:
You can (and always have been able) to turn off the inspect range check by setting it to 0 in the config

Inspect range is only considered if a player lacks permission for the 'mcmmo.commands.inspect.far' permission node, this permission is granted to players by default, you have to use a permission plugin to deny this.

2.2 is around the corner, most things are functional, still a lot of work left to do.
----------, Jun 21, 2019

  • Dramatically increased the chance of receiving full materials when salvaging
  • Fixed a nearly 6 year old bug where Super Repair was not included as a child permission under Repair ability permission nodes (which meant some players would not have access to this skill)
  • Fixed a bug that could prevent salvage from working for certain players
  • Renamed the advanced salvage permission node to 'mcmmo.ability.salvage.scrapcollector'
  • Fixed a bug that would send players skill unlock notifications if they did not have the permission node for that skill
----------, Jun 20, 2019

Added some code to make mcMMO more compatible with EpicSpawners
----------, Jun 18, 2019

  • You can no longer set party members on fire with your bow
  • (FIX) Arrow Retrieval will no longer work with piercing enchant on crossbows
  • WG Flags should now correctly recognize when a projectile belongs to a player and respect flag settings
  • Updated hu_HU locale (thanks andris155)
----------, Jun 18, 2019

  • Added new WG flag 'mcmmo-hardcore' if set to negative players will not be penalized by hardcore mode (if hardcore mode is enabled) it defaults to true
  • Added proper error handling when loading parties file
  • Fixed an error that could occur when using mcrank on an offline player
  • You can now use mcrank on offline players by default
  • You can now use inspect on offline players by default
  • Removed the offline inspect/mcrank permissions
  • Updated Chinese locale (thanks to the user named 89009332 from github)
  • Added some redundancy checks when loading profiles (NPC checks to be specific)

NOTES:
There were reasons to prevent inspecting offline players in the past, I don't see any reason for them anymore so I've removed the restriction.
----------, Jun 17, 2019

  • Fixed a bug where Arrow Deflect would never trigger outside of PVP
  • Fixed a bug where failing to salvage enchantments incorrectly colored the text
  • mcMMO no longer allows players to keep enchantments exceeding normal limitations by default when salvaging or repairing (you can turn this off in the config, see below)
  • Added new setting 'ExploitFix.UnsafeEnchantments' to experience.yml, turn this on to allow players to salvage/repair enchantments higher than normal game restrictions

NOTES:
If a player tries to salvage/repair an item with an illegal enchant (for example Sharpness X) it will downgrade that item to the highest legal version when calculating rewards

If you don't like this change you can turn it off in experience.yml under 'ExploitFix.UnsafeEnchantments'
----------, Jun 15, 2019

  • (Fix) mcMMO now respects the NBT "Unbreakable" tag and does not deal durability damage to items with that tag
----------, Jun 12, 2019

  • Updated Japanese locale (Thanks snake0053)
  • Fixed a NPE that could happen when using Tree Feller with an unenchanted Axe
----------, Jun 12, 2019

  • (FIX) Shovels no longer take more than 1 diamond to repair
  • (FIX) Tools with the unbreaking enchantment no longer take extra damage from super ability usage, they are still subject to the normal durability damage from breaking blocks though.
----------, Jun 12, 2019

If you haven't read the changelog for 2.1.76 it is HIGHLY recommended that you do.
  • Added minimum quantity back to Repair config

NOTES: I removed this last patch because I did not consider that server admins might be allowing users to repair items without crafting recipes (as of last patch mcMMO determines minimum quantity via counting ingredients in a recipe)

I'm sorry about making this change without thinking it through fully.

If you do not define minimum quantity in the repair config, mcMMO will grab the minimum quantity automatically as I programmed it to do as of last patch, otherwise if it is defined, mcMMO will respect that and use that for calculations.

The minimum quanitty should be set to the number of ingredients used to craft the recipe, for example 8 for diamond chestplate etc, you do not need to define this unless you are allowing players to repair custom items.
----------, Jun 11, 2019

  • Advanced Salvage has been renamed to Scrap Collector
  • Scrap Collector has 8 ranks, the first rank is unlocked at level 2 (Level 20 in RetroMode)
  • You cannot salvage without at least 1 rank in Scrap Collector now (formerly Advanced Salvage)
  • Fixed a bug where Repair was repairing too much
  • Fixed a bug where Arcane Salvage was used to determine how many materials a player could salvage from an item instead of Scrap Collector (formerly Advanced Salvage)
  • Fixed a bug where messages about an item being too damaged to salvage were being sent twice
  • Removed the minimum quantity field from the repair config
  • Removed the item data (metadata) field from repair config as its not used anymore
  • Salvage will no longer return the max amount of materials possible, instead you are guaranteed one item and then some luck is involved on how many items are returned.
  • Updated Chinese locale (thanks to the user named 89009332 from github)

New locale strings
Salvage.Skills.Lottery.Normal
Salvage.Skills.Lottery.Perfect
Salvage.Skills.Lottery.Untrained
Salvage.SubSkill.ScrapCollector.Name
Salvage.SubSkill.ScrapCollector.Description
Salvage.SubSkill.ScrapCollector.Stat

(API) SALVAGE_ARCANE_SALVAGE in SubSkillType has been renamed to SALVAGE_SCRAP_COLLECTOR

NOTES:
You do not need to update your configs for this update.

How Scrap Collector (formerly Advanced Salvage) works
As an example, say you had enough skill to gain up to 5 items from salvaging something, and that item has enough durability to yield up to 5 materials, salvage will play out like this...

First off, you will be guaranteed 1 material, after this you have 80% chance to get the next material, if successful, another dice roll is conducted but lowers your odds by 20%, you chance to succeed will never fall below 33%.

The amount of materials returned is basically a series of dice rolls, one for possible item that can be salvaged except for the first item which is always guaranteed.

If you fail a dice roll, it will still conduct dice rolls for the remaining maximum amount of materials returned but your odds of success are only lowered upon a successful dice roll, the sum of the successful dice rolls is used to calculate how many items you are given back, the first item is guaranteed and has no dice rolls, which means for example that Diamond Shovel will always be a perfect result since it only has 1 possible material returned.
----------, Jun 11, 2019

  • Fixed a bug that prevented Fortune from working correctly if a Double Drop was triggered
----------, Jun 11, 2019

  • Fixed a NPE that could occur during certain events if a skill was disabled in coreskills.yml (Sorry!)
----------, Jun 9, 2019

  • Fixed a NPE that could occur if an entire skill was disabled in coreskills.yml
----------, Jun 9, 2019

  • Fixed a NPE if a server shutdown with no player data needing to be saved (the error is harmless but spammy)
  • Fixed a NPE that could occur if Roll was disabled in coreskills.yml
----------, Jun 9, 2019

  • Salvage will now always ask for confirmation before breaking your items (instead of only asking for enchanted items)
  • Repair will now always ask for confirmation before repairing items (instead of only asking for enchanted items)
  • Gold & Iron Blocks will no longer trigger tool ready messages
  • Salvage & Repair anvils will no longer work on multi-item stacks

NOTES: You can still turn the confirmation off in config.yml
----------, Jun 8, 2019

  • Added new DatabaseAPI to the API package, has features relating to database operations
  • Fixed a bug where shulker boxes (without colors) would activate tool ready messages
----------, Jun 7, 2019

  • Fixed a few places where mcMMO would not save player data immediately which may cause players to lose a few minutes of progress

A big thanks to @Sleepyflea for helping test this patch and report this bug.
----------, Jun 6, 2019

  • Updated Japanese locale (thanks Snake)
  • Fixed a bug where consuming food in the off hand did not trigger the Diet abilities
----------, Jun 3, 2019

  • The XP bar now reflects whether or not the player is receiving the early game boost
  • Players who are receiving an early game boost will be shown "Learning a skill..." as the title of the XP bar while gaining XP
  • New locale string 'XPBar.Template.EarlyGameBoost'

NOTES:
You can turn off this system in experience.yml 'EarlyGameBoost.Enabled'

The Early Game Boost is a system in which players receive drastically increased XP gains for the first few levels (until the first set of skills are unlocked)

With default settings, this means players will be receiving boosted XP for the first 5 levels (50 for Retro)

The Early Game Boost ends when players get the first skill in each ability under default settings

The main purpose of this system is to alleviate progression issues with a few skills where the first set of unlocked abilities drastically increase how fun it is to level the skill

The secondary purpose of this system is to alleviate any psychological issues when grinding towards the first set of unlocks by making the first set of unlocks happen quickly

This system has been in place for a few versions now, but without an in game indicator of what was going on.

If you have XP bars off there is still no indicator that this system is in place, I'll address that at some point.
----------, Jun 1, 2019

  • Fixed a bug that could happen if a player was removed from the DB when using MySQL/MariaDB when the user was offline
  • Fixed a minor memory leak for MySQL
Who knows how long this leak was in mcMMO, I didn't bother checking the git blame but probably many years. It's patched now.
----------, May 29, 2019

Corrected a bug that would cause RetroMode to use Linear formula regardless of setting
----------, May 28, 2019

  • Corrected how Standard mode (1-100 scaling) XP to next level was calculated, it is now a true 1:10 ratio with Retro (1-1000) scale, which is how it was intended to be to begin with
  • Fixed a bug that caused skill messages to spam nearby players
  • (API) method to get XP in FormulaManager has been renamed to getXPtoNextLevel(...), this shouldn't break anything as plugins should be using our Experience API methods instead of this
  • (API) Added method getLevel(Player player, PrimarySkillType primarySkillType) to ExperienceAPI.java


NOTE: The net result of this change is it will take a bit longer to level with Standard, but it should not be a drastic change. You might not even notice it.

Standard is meant to take the same amount of time to level from levels 1-100 as it takes Retro to do 1-1000, this change corrects from errors in the code that made Standard actually take less XP than Retro despite intending for it to be a cosmetic difference in progression.

I made a google sheet visualizing the difference between Standard and Retro Mode using default settings and Linear formula - https://docs.google.com/spreadsheets/d/1VlJtvNHlypACHyz_zulEdhgLwFjL01xMPkqlnu0XBSs/edit?usp=sharing
----------, May 28, 2019

  • Fixed Armor Impact not scaling by skill rank
  • Significantly Buffed the amount of durability damage incurred by a successful Armor Impact
  • Added new setting to advanced.yml 'Skills.Axes.ArmorImpact.DamagePerRank' which is multiplied against Armor Impact's skill level to determine damage done to armor
  • Fixed a bug that caused creative mode players to gain XP when qualifying for early game XP boosts
  • Removed the damage cap setting for Armor Impact, it is inherently capped now based on its max rank and damage setting
  • Updated hu_HU locale (thanks andris155)
  • Updated ja_JP locale (thanks snake)

NOTES:
Armor Impact only has a 25% chance to go off, and for it to only incur 20 durability damage seemed incredibly underwhelming, I've buffed it quite a bit.
You can change it back to its underwhelming self by setting DamagePerRank to 1.0
Based on feedback I may tweak the number again or other properties of this skill
----------, May 21, 2019

  • Added a new admin notification system, sensitive commands will print chat messages to "admins" (players with either Operator status or admin chat permission)
  • Added a setting to disable the new admin notifications to config.yml 'General.AdminNotifications' (this will be more configurable in 2.2)
  • OPs and players with the admin chat permission will now see details about XP rate event commands regardless of whether or not the XP rate event messages are enabled
  • Updated hu_HU locale (thanks andris155)
  • Added XP for mining Magma_Block (default 30 XP - Update your config, see notes)
  • Diamond tools & armor in the repair config now have a minimum level of 0 (Update your config, temporary hotfix, 2.2 addresses this issue, see notes)
  • Guardian default combat XP multiplier reduced from 3.0 to 1.0 (update config if you want this change)
  • New locale string - 'Server.ConsoleName' the name of the server console, this will be used in place of player names when sending admin notifications out if the command was used from console
  • New locale string - 'Notifications.Admin.Format.Others' style formatting + prefix for admin notifications used in the other new strings below
  • New locale string - 'Notifications.Admin.Format.Self' style formatting + prefix for admin command confirmations sent to the user who executed the command
  • New locale string - 'Notifications.Admin.XPRate.Start.Self' sent to the user who modifies the XP rate regardless of whether or not messages for the event are enabled
  • New locale string - 'Notifications.Admin.XPRate.Start.Others' details of who started an XP rate event are sent to players who have Operator status or admin chat permission when the command to start or modify XP of an event has been issued
  • New locale string - 'Notifications.Admin.XPRate.End.Self' sent to the user who ended the XP rate event regardless of whether or not messages for the event are enabled
  • New locale string - 'Notifications.Admin.XPRate.End.Others' details of who ended an XP rate event are sent to players who have Operator status or admin chat permission when the command to end the event has been issued

NOTES:
Admin notifications currently only reports use of the XP rate command, it will be expanded to support other commands in upcoming patches

Add an entry of 'Magma_Block: 30' under Mining in experience.yml section titled "Experience_Values" (or you can delete the file to generate a new one with default values, 2.2 is coming soon which will have brand new configs so you could just wait for that

2.2 is the config rewrite, in this rewrite Repair and Salvage configs have been partially rewritten, it is not intended for Diamond Repair to take until level 50 in Standard level scaling to be available, since it'd be redundant to fix this in 2.1.X when 2.2 fixes it and its about to come out, the minimum level has temporarily been changed to 0. You can either update your repair.vanilla.yml config manually or delete it to generate a new one.

THOUGHTS:
Admin notifications are a step in the right direction for finding naughty admins in mcMMO, I will be changing which permission node is used for players to be considered an admin in the future as not everyone wants or uses admin chat.
I expect to add logging of admin commands which will be viewable in game via command, so you won't have to have access to the servers log files to view who has been executing what.
----------, May 18, 2019

  • Fixed the locale string formatting of 'Mining.SubSkill.DoubleDrops.Stat'
  • Updated the Japanese locale (thanks snake0053)
  • Added toggle to turn off event message broadcasts (XP rate) to config.yml - 'General.EventBroadcasts'
  • Added toggle to not inform players of events when they join (XP rate, etc) to config.yml 'General.EventInfoOnPlayerJoin'
  • Added anti-exploit protection for cobble/stone farms which can be automated, to turn this off you can toggle the new config options 'ExploitFix.LavaStoneAndCobbleFarming' in experience.yml

NOTE: The toggle for event message broadcasts is separate from the titles being shown, that's another config option (titles are the BIG TEXT in the middle of the screen)


NOTE: The new anti-stone/cobble automation will not prevent XP gains from obsidian, since Obsidian requires some effort to farm
----------, May 16, 2019

  • Fixed a NPE error if a LivingEntity's target was set to null
  • Fixed a bug where tamed mobs could kill themselves if their owner shot them once
  • Corrected a typo when naming entities summoned by COTW (Locale string - Taming.Summon.Name.Format)
  • Fixed a bug where tamed mobs could have hearts instead of their name in their own death messages
  • Fixed a bug where multi-block crops would fail to double/triple drop (Sugar Cane, Cactus, etc)
  • Optimized the bonus drop code to reduce overhead

2.2 is still being worked on, its a massive update to rewrite the config system so be patient :giggle:
----------, May 15, 2019

  • Raised the overfishing limit from 3 to 10
  • Improved the overfishing messages to be more clear about its mechanics
  • Overfishing locale keys renamed "Fishing.ScarcityTip" and "Fishing.LowResourcesTip"

NOTES: This and other exploit prevention measures are much more customizable in 2.2, which shouldn't be too far off.
----------, May 13, 2019

Fixed the wrong locale string being used for Mining Double Drops
----------, May 11, 2019

Version 2.1.57
  • Fixed an incredibly rare dupe bug that only happened with VERY specific config options that was extremely difficult to pull off (thanks for reporting MeyMey_ & Multicody10)
NOTES

This dupe bug doesn't happen unless you a very unusual setup in your mcMMO configs, its likely your server isn't even vulnerable to this dupe bug but you should update anyways.

Even when the dupe bug has the right settings to activate, it only happens once out of every 10-15 tries, personally I think its a miracle this even got reported to me.

This dupe would let you inefficiently dupe ore since it was so unreliable, if you are wondering to what extent this bugs impact could have.
----------, May 8, 2019

Very large update to the zh_CN Chinese language file (thanks @Dream__m )
----------, May 6, 2019

Version 2.1.55
  • Fixed a bug that could occur when adding UUIDs to old outdated DBs
----------, May 6, 2019

Version 2.1.54
  • Fixed a bug where the Skill 'Understanding the Art' was preventing vanilla experience orbs from furnaces
  • Fixed 'Understanding the Art' not correctly boosting vanilla XP from furnaces
----------, May 4, 2019

Fixed a bug which resulted in players getting too much XP
----------, May 3, 2019

  • Updated Japanese locale (thanks snake0053)
  • Added a toggle for the early game XP boost to experience.yml 'EarlyGameBoost.Enabled'
  • Added a max level multiplier for determining early game boosts cutoff to experience.yml 'EarlyGameBoost.MaxLevelMultiplier'
----------, May 3, 2019

This patch brought to you by mikroskeem! I'm hard at work on 2.2 :)

Version 2.1.51
  • You can now customize a locale outside of the JAR! (Thanks mikroskeem)
  • Added a new locale reload command 'mcmmoreloadlocale' (Thanks mikroskeem)
  • Locales can now be overriden by placing a file with an appropriate name inside /plugins/mcMMO/locales/ (Thanks mikroskeem)

NOTES
Locales are the language files used by mcMMO, they also contain color codes and most of the styling used by mcMMO!

You can find the up to date current en_US locale entries here

You do NOT have to replace the whole locale, you can replace only the strings you want to!

Locales only support ASCII and UTF16 characters at the moment, so you'll need to run special characters through a UTF16 converter (google it) to get them to work, I'll be fixing this in the future!

The locale name must match the internal file you are overriding (ie: locale_en_US.properties)

Locale will first check for a users locale file, if it doesn't exist it will use internal resources (files inside the JAR)

If a locale is found, it will use locale entries from that file, if any entries are missing, it will use entries from en_US inside the JAR

The locale file names are structured like this 'locale_XX_XX.properties', replace XX with your country codes, if you are not overriding en_US you will have to change the targetted locale inside config.yml
----------, May 1, 2019

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
----------, Apr 27, 2019

Compatible with both 1.13.2 & 1.14

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
----------, Apr 26, 2019

The main version of mcMMO will now be 1.14, although I will be maintaining support for 1.13 for a while.

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

I plan to add a crossbow skill, for now crossbows and archery will share properties.

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
----------, Apr 23, 2019

This fixes an error occurring when players type /party while the party leader is offline
----------, Apr 22, 2019

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
----------, Apr 20, 2019

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.

mcMMO will only complain about your server software being out of date if you are missing API from Spigot, mcMMO is not actually looking at the version of your server software, it is just checking for missing API.

In addition to this if it finds missing API and it determines you are not using Spigot or Paper, it will assume you are using CraftBukkit and warn you that CraftBukkit is not compatible.

All of this stuff does not happen unless missing API is found (which means you need to update)
----------, Apr 17, 2019

Version 2.1.44
  • Fixed a NPE with Alchemy brewing

Reminder: 2.1.22 added a new perk permission node.
----------, Apr 14, 2019

Version 2.1.43
  • Fixed a bug that would result in players being told they they failed to salvage enchantments when in reality they succeeded.
----------, Apr 14, 2019

Version 2 .1.42

  • Fixed McMMOPlayerNotFoundException being thrown instead of null
  • (API) UserManager.getPlayer() returns null again (oopsie)
  • Added new perk permission node `mcmmo.perks.bypass.salvageenchant` - guarantees full enchantment return for Salvage
  • Added alternative permission node `mcmmo.perks.bypass.repairenchant` - guarantees full enchantment return for Repair
  • Added new wildcard perk `mcmmo.perks.bypass.*` and `mcmmo.perks.bypass.all` (either of these will grant all new mcmmo.perks.bypass perk permissions)

NOTE: Sorry about that, when trying to improve Bungee Cord compatibility I made a big oopsie!

NOTE: Repair's new perk permission works in the exact same way as mcmmo.bypass.arcanebypass, bypass perk permissions will all eventually be moved to `mcmmo.perks.bypass`

NOTE: Expect perk permissions to all be moved to `mcmmo.perks.X` in the near future, old perk permission node addresses will not be removed but will stay and serve as alternate addresses
----------, Apr 13, 2019

Version 2.1.41
  • Fixed NullPointerException errors when trying to grab PlayerProfiles for players who have not loaded
  • Added new locale string Profile.PendingLoad
  • Added new locale string Commands.Database.CooldownMS
  • Fixed a display error preventing the remaining time on /mcrank from being shown if it was on cooldown
:cool:
----------, Apr 12, 2019

Soon I will be writing some details about a semi-large content update, stay tuned.

Version 2.1.40

  • (API) mcMMO will now return null in all cases for UserManager.getPlayerProfile() if they have not been loaded yet
  • (API) Roll stores exploit data in AcrobaticsManager now
  • Added new locale string "Profile.Loading.FailureNotice"
  • Added new locale string "Profile.Loading.FailurePlayer"
  • mcMMO no longer gives up forever if a player profile fails to load and the player is still online
  • mcMMO will attempt to save a profile up to 10 times now, previously it would only try one time.
  • Fixed an ArrayIndexOutOfBounds error with Party Chat
  • Player data for mcMMO is now loaded 3 seconds after a player connects in order to give any ongoing save tasks from other servers a small grace period to finish. This will mostly be useful to Bungee servers.
----------, Apr 11, 2019

A roadmap will be coming soon describing a content update and my plans for mcMMO after 2.2

Version 2.1.39
  • Salvaging an item should now only play the item break sound (was playing the anvil sound simultaneously before)
  • Fixed bug where Tall_Grass was not giving full XP
  • Added Tall_Seagrass and Seagrass to experience.yml under Herbalism (update your configs)

NOTE: This is what your herbalism section in experience.yml should look like - https://paste.gg/p/anonymous/d5b03bd56e8442f2836f8a954d2974de
----------, Apr 10, 2019

Version 2.1.38
  • Roll XP cooldown down from 60 seconds to 10
  • Updated pt_BR localization (thanks FabioZumbi12)
NOTE: The XP Cooldown will be configurable in 2.2 which is nearing the finish line
----------, Apr 9, 2019

Version 2.1.37
  • Fixed a potential IndexOutOfBoundsException when informing a disconnected player that their Blast Mining was off CD
  • Updated hu_HU locale (thanks andris)
----------, Apr 6, 2019

Version 2.1.36
  • Updated German locale (Thanks OverCrave)
  • Fixed a bug preventing Villagers from giving combat XP
  • The /mcnotify command will now squelch almost all chat messages or action bar notifications sent to the player from mcMMO
  • mcMMO will now remind players on an hourly basis that they are are not receiving notifications from mcMMO if they have run the mcnotify command and toggled squelch mode
  • Added a new setting to advanced.yml "Feedback.PlayerTips", when set to true this will allow mcMMO to send periodic helpful messages to players, currently this only affects mcnotify reminders.
----------, Apr 5, 2019

Version 2.1.35
  • Readded the detonator config option

NOTE: I decided to make the detonator configurable again because 2.2 is some ways off. Sorry for the inconvenience.

NOTE: Pickaxes are now usable for blast mining, this is in addition to the detonator that you can specify in the config. This will be more configurable in the upcoming 2.2 update.
----------, Apr 4, 2019

Version 2.1.34
  • Added Llama to taming XP tables
  • Added Parrot to taming XP tables
  • Pickaxes are now used to activate Blast Mining instead of Flint
  • The detonator for Blast Mining is no longer configurable
  • Fixed a bug where Blast Mining did not show cooldown length correctly

NOTE: You'll have to add these entries in yourself, this is what it should look like: https://paste.gg/p/anonymous/aadbcfde3eb3470fb13caebde4065a03

Alternatively you can delete the experience config file to generate a new one
----------, Apr 4, 2019

By popular demand I've added a setting to turn off Acrobatics anti-farm measures.

2.2 has more advanced control over anti-grind stuff but I think some of you don't want to wait that long.

Version 2.1.33
  • Renamed "Skills.Acrobatics.Prevent_AFK_Leveling" to "ExploitFix.Acrobatics"
  • ExploitFix.Acrobatics when set to false allows gaining XP in Acrobatics freely with no anti-grind measures

NOTE: ExploitFix.Acrobatics is located in experience.yml

NOTE: The anti-grinding/exploit stuff is fully configurable in update 2.2 coming soon, this hotfix is to hold you over until that update comes out.
----------, Apr 3, 2019

Version 2.1.32
  • Completely removed Fireworks from mcMMO because they lag
  • Added 'General.AprilFoolsEvent' setting to config.yml to turn off April Fools
NOTE: April Fools event has been in mcMMO for a long time, I did not write it so I didn't know it spawned fireworks like crazy.
----------, Apr 1, 2019

Version 2.1.31
  • Fixed a bug where certain SubSkills did not properly send unlock or rank up notifications
  • Fixed a bug where unlock notifications would send simultaneously for a specific skill (still happens if mmoedit changes all skill levels on a player at once)
  • Fixed a bug where mmoedit triggered notifications for skills already gained
  • Fixed NPE with grabbing offline player skill ranks through certain API methods (thanks Ineusia)
  • Updated German language locale (thanks OverCrave)
----------, Mar 31, 2019

No need to update configs, this update will do it for you automatically.

If you had custom values in Double_Drop entries in your own configs, you will need to review the notes.


Version 2.1.30
  • Fixed double drops behaving oddly
  • Double_Drop config table has been renamed to Bonus_Drops, this is to jankily auto-update everyones config
  • DoubleDrop config tables now must contain all things that can possibly be doubled, such as the Ore block, the ore itself, etc.
  • Added the following items to the Bonus_Drops tables for Mining: Coal, Diamond, Emerald, Glowstone_Dust, Iron_Ingot, Lapis_Lazuli, Nether_Quartz, Redstone, Cobblestone
  • Added the following items to the Bonus_Drops tables for Herbalism: Beetroot, Carrot, Cocoa_Beans, Melon_Slice, Potatoe
  • Added the following items to the Bonus_Drops tables for Woodcutting: Birch_Wood, Spruce_Wood, Jungle_Wood, Dark_Oak_Wood, Oak_Wood, Acacia_Wood

NOTE: You don't need to update your configs for this one unless you had custom entries in the Double_Drop tables, the renaming of the key will auto-insert default values and give everyone correct defaults

NOTE: I'm gonna have to blame Bukkit on this one, several API methods I used are actually unfinished and kind of janky. So I hacked something together to make them work.
----------, Mar 30, 2019

In fixing previous exploit bugs I accidentally broke Double Drops, this fixes them again.
----------, Mar 29, 2019

IMPORTANT: 2.1.26 introduced large changes to combat skills, check them out here.

Version 2.1.28

  • Fixed a bug where Archery could not gain XP
----------, Mar 28, 2019

IMPORTANT: 2.1.26 introduced large changes to combat skills, check them out here.


Version 2.1.27
  • Fixed an exploit that allowed players to duplicate torches, and rails
----------, Mar 28, 2019

Version 2.1.26
PVP Tweaks & Combat Skills deal about 50% more DMG​
  • Added new scaling damage buffs to all existing Combat Skills
  • Added a new subskill named Stab to Swords
  • Fixed a bug where Berserk was not adding 50% damage to attacks
  • Changed how Iron Arm damage is calculated (Rank 1 now effectively gives twice the damage bonus it used to, higher ranks have more damage)

NOTE: Combat skills will be completely configurable in the upcoming 2.2 update, be patient <3

New Permissions
- mcmmo.ability.unarmed.unarmedlimitbreak
- mcmmo.ability.axes.axeslimitbreak
- mcmmo.ability.archery.archerylimitbreak
- mcmmo.ability.swords.swordslimitbreak
- mcmmo.ability.swords.stab

Description:
The new Limit Break subskills are intended to make Prot IV players less tanky and for you to feel more powerful for having high skill level.
Limit Break has 10 ranks, each rank gives 1 extra RAW damage, this is damage before reductions from armor and enchantments. The net result is you deal about 50% more damage with an end game skill compared to before.

With these new changes, most skills can 2 shot normal diamond armor, and it takes about 5 hits to kill someone in Prot IV Diamond Armor.

I'm not sure everyone will like these changes, the net result is players are a lot easier to kill now, whereas before you could take quite a beating before getting killed.

I collected several sets of data before making these changes, including damage to player with and without prot 4 diamond armor, damage to those players with and without enchanted weapons, damage with and without leveling your skills, and combinations of the previously mentioned things.

I value your feedback so let me know how you feel about this change, if you don't like it, for now negate the limit break nodes mentioned above.
----------, Mar 27, 2019

It is recommended you update ASAP if you are on versions 2.1.22 or 2.1.23 due to an exploit vulnerability that was patched in 2.1.24.

If you haven't updated in a while, please read the changelog for 2.1.22 & 2.1.23

Version 2.1.25
  • Shake now has an upper limit of damage (10) - Will be configurable in 2.2 which is coming in the near future
  • Rank 1 of Catalysis & Concoctions are now available at level 0 by default (update skillranks.yml or delete it to regen a new one)
  • NOTE: The change to shake was to make mcMMO more compatible with plugins that spawn entities with large amounts of HP
The alchemy fix is because rank 1 for Alchemy skills are kind of required to get going in that skill, so it didn't make much sense to give it steep requirements.

Update skillranks.yml manually or delete it to regen a new one
----------, Mar 26, 2019

It is recommended you upgrade immediately.

I will avoid describing the exploit.

IMPORTANT: If you haven't followed the update instructions for 2.1.22 or 2.1.23, you need to read both of those. Found here, and here.
----------, Mar 25, 2019

PSA: Getting reports of mcMMO not working, almost all reports of this are because mcMMO is using API from newer versions of CB, update your server software (Spigot/Paper).

READ THE CHANGELOG CLOSELY, MINING FIXES REQUIRE UPDATING YOUR CONFIG.

There will be a small PVP balance patch in the next week or so. The config update is still in the works, but I'm taking my time to make it even better.
  • Fixed a bug with Double Drops for Mining (Update your configs instructions below)
  • Fixed a 7 year old bug where damage in mcMMO from Skills was potentially getting reduced by damage reduction TWICE
  • Fixed a bug where killing entities with Rupture would not properly credit you as the killer
  • Fixed a bug where Serrated Strikes was applying Rupture twice
  • Players will now be ejected from Minecarts if they cast their fishing rod (anti-afk)
  • Many nerfs to Rupture, its now much more reasonable and not very useful against Protection IV opponents
  • Rupture's strength is now related to your equipped Sword
  • Rupture will no longer be applied if the target is blocking, this doesn't prevent existing bleed damage from occurring though.
  • Wolf's Rupture has strength equivalent to a Stone Sword
  • Only Diamond swords will have bonus rupture damage at Rank 4
  • Rupture damage is cut in half for weapons below Diamond in quality, if the weapon is wooden, the damage is cut in half again.
  • Swords below Diamond quality will have their tick duration drastically reduced
  • Rupture damage is reduced by 25% on players if they are wearing Full Armor (can be any type)
Note: You'll need to add these entries to your config.yml manually, or wait for the upcoming config update where this will be fixed for you automatically.

Here's what your Double_Drop entries in Config.yml for Mining should look like

https://paste.gg/p/anonymous/dcd06f1215844311b4f2225f200090d1

IMPORTANT:

Version 2.1.22 which came before this had a similar fix for Herbalism, instructions on how to fix your Herbalism Double Drops can be found here
https://www.spigotmc.org/resources/official-mcmmo.64348/update?update=269868

Due to the nature of these fixes, Fortune enchants now work with Double/Triple drops
----------, Mar 25, 2019

Version 2.1.22
  • Less aggressive spam click protection on Fishing
  • Updated Hungarian file for missing entries related to Fishing messages (credit: andris155)
  • Added all missing flowers to Double Drop tables for Herbalism
  • Fixed bug where Repair Mastery was calculating player skill level incorrectly when determining bonuses
  • Fixed Double Drop entries for all farming crops for Herbalism
  • It no longer requires seeds to replant crops if you are harvesting crops with a hoe (will still consume seeds if you aren't)
INSTRUCTIONS: READ CAREFULLY

NOTE: You'll need to add these entries to your config.yml manually, or wait for the upcoming config update where this will be fixed for you automatically.

The only thing you need to edit is Skills.Herbalism.DoubleDrops in config.yml

You can copy paste from the link below to get the correct double drop tables for herbalism!

CORRECT VERSION EXAMPLE: Here's what your Double_Drop entries in Config.yml for Herbalism should look like: https://paste.gg/p/anonymous/8d8db4ac69bd495fa48a7f5190484c5e

The config update is being worked on still, I continue to put out hotfixes for bugs while working on it. I'll be doing a post about it soon.
----------, Mar 23, 2019

Version 2.1.21
  • Improved anti-farm/anti-grinding mechanics for Rolling
  • When you gain XP from Rolling there is a cooldown period (60~ seconds) for gaining XP again
  • This XP cooldown period extends if players are taking fall damage within the cooldown period
  • NOTE: Roll already has a few built in measures to prevent XP grinding / abuse, those are still the same.
  • NOTE: Rolls still happen in the cooldown period, you just won't gain XP.
----------, Mar 21, 2019

Version 2.1.20
  • Added Hungarian localization (Locale code: hu_HU) (thanks andris155)
  • Players can now fish in the same spot about 3 times before mcMMO will mark the area as being over-fished (over-fishing is to prevent abuse)
  • Added a toggle to turn off the fishing exploit detection to experience.yml "ExploitFix.Fishing"
  • Note: The new config update is coming soon and will use a different setting, putting this out as a band-aid fix for people that don't like the new fishing exploit prevention stuff
  • Added a message to warn players that their next fishing attempt will result in over-fishing (Locale: Fishing.LowResources)
----------, Mar 20, 2019

Version 2.1.19
  • Greatly Improved Fishing AFK/Exploit Detection
  • Fixed a bug where Fishing AFK detection did not work on a new exploit
  • Certain exploits for Fishing now result in players losing small amounts of hunger and durability
  • Players who get detected by Fishing's anti-exploit measures will no longer get vanilla rewards from Minecraft
  • **Note: Previously if mcMMO detected you abusing Fishing it just switched you over to vanilla Minecraft fishing rewards, this change is to help server admins who don't want players to get any kind of reward from AFK fishing
  • Fishing now drops several hints to players if they are triggering the exploit detection
  • **Note: Not all types of exploit detection will warn players, this is just to prevent legitimate fishers from being confused by the aggressive exploit detection.
  • Added messages to warn players about fishing in the same spot (Locale: Fishing.Scarcity)
  • Added messages to warn players who exploit in order to catch fish unusually fast (Locale: Fishing.Scared)
  • Added messages to warn players about casting the fishing rod too often (Locale: Fishing.Exhausting)

PS: I turned 30 yesterday :eek:
----------, Mar 18, 2019

Version 2.1.18
  • You will need to add Kelp to your experience.yml file for this fix to be fully functional
  • Breaking Kelp will now properly count its XP
  • Added "Kelp" to experience.yml (Kelp is actually made up of two blocks mixed together)
  • It is recommended that Kelp and Kelp_Plant have the same XP value in experience.yml
  • mcMMO will now calculate XP for plants that are taller than naturally allowed (Cactus above 3 block height, etc)
----------, Mar 17, 2019

I think I'm dyslexic


Version 2.1.17
  • Fixed a logic error that resulted in Drowned giving no XP
  • Fixed a bug that resulted in mob spawner entities to not be marked for no xp after being transforming into Drowned
----------, Mar 14, 2019

Version 2.1.16
  • Breaking Kelp should now count the whole plant for XP
  • Spawned Mobs that are not supposed to award XP will no longer reward XP once transformed (ie: drowned)
----------, Mar 13, 2019

This hotfix corrects an issue where a max rank in Fuel Efficiency removes the benefits from said skill.
----------, Mar 10, 2019

Version 2.1.14

  • Added a config option to toggle double drops for Silk Touch pickaxes (advanced.yml "Skills.Mining.DoubleDrops.SilkTouch"
  • Mycelium removed from Woodcutting XP tables (because its soil!)
  • Kelp added to Herbalism XP tables
  • mcMMO now flags blocks moved by piston as not natural to prevent automated XP farms
  • Fixed a bug where Fuel Efficiency was way too good
  • Fixed a display issue with Fisherman's Diet
  • Fuel Efficiency now uses the rank system
  • Removed Fuel Efficiency config options in advanced.yml
  • Added Tropical Fish, Raw Cod, Raw Salmon to the list of foods that benefit from Fisherman's Diet


Experience Table Edits
You'll need to apply these changes manually or delete experience.yml to regen the file!

Config Update Coming Soon
Still working on the config rework and reload update! Pushing out critical bugfixes as needed!
----------, Mar 10, 2019

This is a small patch to fix a critical bug with Archery's Arrow Retrieval.

The Config update is coming soon, stay tuned.


Version 2.1.13
  • Fixed a bug where Archery's Arrow Retrieval was using the wrong permission node
----------, Mar 8, 2019

Work has begun on 2.2.0, read about it here
  • Salvage config entries are no longer case sensitive
  • Fixed a bug where Fishing was not rewarding vanilla XP orbs
----------, Feb 15, 2019

Fixed a bug where Rupture was using the wrong permission node (new permission node: mcmmo.ability.swords.rupture)
----------, Feb 6, 2019

There was a bug where the Fishing command would sometimes throw an error because decimal formatting was being applied to a String instead of a Number

That has been fixed in this patch
----------, Feb 6, 2019

So in the previous hotfix I was grabbing the version of WG using their API getVersion() method, well it turns out this method was added recently! Even some versions of WG7 don't have it :eek:

So I switched to grabbing WG's current version from the Bukkit description file, which doesn't go through WG's API at all.

This will fix WG throwing errors, sorry for the inconvenience!

If you have any further issues and you are running WG 7, make sure its the latest version!
----------, Feb 6, 2019

In previous versions of mcMMO if you had WG 6 or lower it would cause massive errors, now instead we print a warning letting server owners know to use WG 7 for mcMMO and we only print that warning once.
  • mcMMO now checks for WG 7 before attempting to use the WG API
  • Made some optimizations for our WG integration
  • Fixed a bug where Bite chance for Master Angler was displaying too many decimal places
  • Fixed a bug where Abilities didn't check for permission nodes before activating
  • MaxBonusLevel now has specific entries for Standard and Retro in advanced.yml
  • MaxBonusLevel for Critical Strikes changed from 75/750 to 100/1000
  • MaxBonusLevel of Dodge changed from 80/800 to 100/1000
  • MaxBonusLevel of Rupture changed from 20/200 to 100/1000
  • MaxBonusLevel of Counter Attack changed from 60/600 to 100/1000
----------, Feb 6, 2019

Version 2.1.7
  • Fixed an almost 6 year old bug where Salvage materials did not have a defined material count so they defaulted to 2 (which could lead to shovels giving back more diamonds than normal)
  • Added spam detection for Unarmed's bonus damage and disarm
  • Corrected an error where master angler for retro only required level 150 instead of 500 (update your skillranks.yml)
  • Fixed a bug where Players could see hidden party members in the party member listings
  • (API) Added addXpFromBlocks to ExperienceAPI to help make adding XP for a player easier
  • (API) Added addXpFromBlocksBySkill to ExperienceAPI to help make adding XP for a player easier
  • (API) Added addXpFromBlock to ExperienceAPI to help make adding XP for a player easier
  • (API) Added addXpFromBlockBySkill to ExperienceAPI to help make adding XP for a player easier
----------, Feb 4, 2019

This hotfix is VERY important, grab it ASAP!
  • Fixed a bug where Arcane Salvage could never fail
  • Recolored some lines in the locale related to failure from white to red
  • Fixed a bug where Salvage was giving back too many resources
  • SubSkillFailure renamed to SubSkillFailed in config.yml
  • SubSkillFailed now sends copies to chat by default
  • SubSkillFailed no longer sends messages to the action bar by default
----------, Feb 1, 2019

This hotfix fixes a problem where you had to right click blocks to activate super abilities, you still have to do this with Unarmed because MC doesn't send network packets when you are empty handed and clicking the air, but for the other skills this fixes it.

  • mcMMO no longer ignores cancelled events relating to the player left or right clicking
----------, Feb 1, 2019

  • Fixed a bug where Alchemy didn't gain XP
  • Fixed a bug where Archery gained XP from mob spawned entities
  • Fixed a display bug with Roll on /acrobatics command
  • Fixed a display bug for bite chance on Fishing
  • Fixed a display bug for treasure drop chances on Fishing
  • Fixed a display bug for Arcane Forging on Repair
  • Fixed a display bug for Super Repair on Repair
  • Fixed a display bug for Repair Mastery on Repair
  • Fixed a display bug for Second Smelt on Smelting
  • Repair Mastery now uses a rank system
  • Super Repair now uses a rank system
  • Changed the stat for bite chance to be more clear that its additive chance
  • Fixed Styling for the /salvage command
  • Temporarily disabled Flux Mining
  • Removed XP from entities that target endermite to prevent easy exploitation (Credits to TheBentoBox for the tip!) [Can be turned off in experience.yml]
  • Fixed a bug where static chance skills like Arcane Salvage were using incorrect calculations for success
  • Advanced Salvage now uses a rank system
  • Arcane Salvage now goes by your rank to determine the maximum amount of materials salvaged and is no longer percentage based
  • Fixed a bug where Iron Arm was checking for Iron Grip to be unlocked instead of itself
  • (Plugin Compatibility) mcMMO no longer ignores cancelled block place events (this is to prevent XP gains from placed blocks)
  • (Plugin Compatibility) mcMMO now ignores cancelled events relating to the player left or right clicking
  • (Locale) Changed the string for "Salvage.Ability.Bonus.1" to fit the new material recovery mechanics of Salvage
  • (Config) Added a toggle for the new endermite enderman xp farm fix in experience.yml "ExploitFix.EndermanEndermiteFarms"
  • (Config) Cleaned up some leftover 'unlocklevel' settings, this stuff is now handled in skillranks.yml
  • (Config) Removed Salvage.MaxPercentage
  • (Config) Removed Salvage.MaxPercentageChance
  • (Config) Added Salvage.ArcaneSalvage.MaxBonusLevel
  • (Config) Added Salvage.ArcaneSalvage.MaxChance
----------, Feb 1, 2019

This hotfix disables the recently enabled feature of not picking up items into your main hand while unarmed, unfortunately this feature was bugged and was causing all sort of bad behaviours.

I recommend upgrading to this hotfix ASAP.

I will be re-enabling this feature once I've thoroughly tested it and gotten it to work correctly.
----------, Jan 30, 2019

Version 2.1.2
  • (Compatibility) mcMMO now deals custom damage type for all damage sources to be more compatible with other plugins (such as anti-cheat)
  • (Perks) Fixed a bug where the Lucky perk wasn't adding to success
  • (Skills) mcMMO will now listen to cancelled events to remove our temporary enchantments from tools
  • (Skills) Fixing a bug where Shake didn't calculate success correctly
  • (Skills) Fixed a bug where Arcane Forging didn't calculate success and failure correctly
  • (Skills) Fixed a bug where Salvage didn't calculate success and failure correctly
  • (Skills) Fixed a bug where Flux Mining didn't calculate success correctly
  • (Skills) Fixed a bug where Shake didn't calculate correctly
  • (Skills) Fixed a bug where Pummel didn't calculate correctly
  • (Skills) Tree Feller now works on Mushroom Stems
  • (Skills) Fixed a bug where magic chance would show as null
  • (Skills) Fixed a bug where Trap percentages were added to Fishing even though they no longer exist
  • (Skills) Magic Hunter now uses a rank system
  • (Skills) Fixed a bug where Magic Hunter would work without treasure hunter
  • (Skills) As long are you are empty handed mcMMO will no longer put items into your hands
  • (Skills) Improved the styling on /smelting
  • (Skills) Iron Arm Style can now reach a bonus damage of 10 (up from 8)
  • (Skills) Iron Arm Style now uses a rank system
  • (Skills) Iron Grip now uses a rank system
  • (Skills) Disarm now uses a rank system
  • (Skills) Arrow Deflect now uses a rank system
  • (Skills) Flux Mining is now a passive effect when you mine ore instead of requiring a special pickaxe
  • (Skills) Removed the Flux Mining mcMMO Pickaxe Item
  • (Style) Locked skills now are styled differently in the skill command display
  • (Experience) Phantoms have been added to the default experience.yml with a value of 4.0 (update your config!)
  • (Experience) Default XP value for witch set to 0.1 instead of 0.0
  • (Experience) Default XP value for ender dragon set to 1.0 instead of 0.0
  • (Style) Added @ symbol styling for hover tooltips to the locale
  • (Style) Added the skill names in the skill commands display to the locale so it can now be edited and styled
  • (Experience) Renamed Grass to Grass_Block in treasures.yml to allow grass to give items again (update your configs manually or delete to regen)
  • (Experience) Wood blocks now give XP and are affected by Tree Feller (6 sided bark blocks)
  • (API) Moved XPGainReason from skills to experience package
  • (API) Added XpGainSource for tracking sources of XP
  • (API) You can now specify XpGainSource when adding xp to players
  • (Config) The Extra Stats option for XP bars now overrides the setting for updating XP bars every time XP is gained
  • (Config) Added an option for Party XP gains to not update XP bars
  • (Config) Added an option for Passive XP gains to not update XP bars (smelting/brewing)
  • (Config) Added warnings if mcMMO finds a MaxBonusLevel of 0 for any skill that incorporates RNG
  • (Config) Removed config options for Iron Arm
  • (Config) Removed the options related to the Flux Mining Item
  • (Config) Second Smelt has a max activation chance of 50% instead of 100% (you can update your configs or gen new ones to get this change)

Version 2.1.1
= Fixed an issue where excavation wasn't using the correct permission node
= Added protection against AFK fishing
= Acrobatics now uses much better anti-exploit detection
----------, Jan 30, 2019

Resource Information
Author:
----------
Total Downloads: 31,271
First Release: Jan 30, 2019
Last Update: Dec 14, 2024
Category: ---------------
All-Time Rating:
225 ratings
Find more info at mcmmo.org...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings