Fixed Mooshroom Shake drops not loading due to wrong entity ID in fishing_treasures.yml (see notes)
Fixed Minecraft version detection failing on Spigot servers, causing Tricky Trials potions to be skipped
Fixed Woodcutting bonus drops (Harvest Lumber, Clean Cuts) and Excavation treasure drops bypassing BlockDropItemEvent, making them invisible to Telekinesis-style enchant plugins (See notes)
Skill info tooltip colors are now fully customizable via locale strings — all colors in JSON hover components are driven by locale keys and support & codes, hex colors (&#RRGGBB), and [[COLOR_NAME]] tokens
Fixed incorrect effect durations for splash and lingering variants of Infestation, Weaving, Wind Charging, and Oozing potions in potions.yml (Thanks Warriorrrr) — existing servers are auto-migrated on first startup
Fixed an exploit where arrows from multishot crossbows could be recovered in regions protected by WorldGuard
Fixed an exploit where renamed seeds could trigger Green Thumb crop replanting without being consumed
Fixed an exploit where renamed mushrooms could trigger Shroom Thumb without being consumed
Fixed bug where Powered Shot (Crossbows) was reading MaxDamage from the Archery config section instead of its own
Fixed bug where Smelting Vanilla XP multiplier was not using Skills.Smelting.VanillaXPMultiplier values from advanced.yml
Fixed Fishing skill only working with main-hand fishing rod when fishing
Fixed bug where Block Cracker (Unarmed/Berserk) had no effect on deepslate_bricks, deepslate_tiles, polished_blackstone_bricks, and nether_bricks
Fixed Verdant Bounty (Herbalism) never triggering triple drops — the subskill was defined and displayed but was never checked during block break processing
Fixed bug where mob custom names could be permanently corrupted after healthbar display (see notes)
Fixed bug where vanilla mobs (null custom name) had their name incorrectly restored as an empty string instead of null after healthbar display
Fixed bug where hitting a mob multiple times during the healthbar display window caused the name to restore too early (see notes)
Changed mcMMO behavior around immature crop drops, no longer blocking drops from immature crops (See notes)
Removed Patreon and language translation links from the skill command URL bar
Added missing default value for 'Skills.Acrobatics.GracefulRoll.DamageThreshold' to advanced.yml
Added 'Skills.Crossbows.PoweredShot.RankDamageMultiplier' to advanced.yml
Added 'Skills.Crossbows.PoweredShot.MaxDamage' to advanced.yml
Added 'Skills.Maces.Crush.Base_Damage' to advanced.yml
Added 'Skills.Maces.Crush.Rank_Damage_Multiplier' to advanced.yml
Added 'Skills.Tridents.Impale.Base_Damage' to advanced.yml
Added 'Skills.Tridents.Impale.Rank_Damage_Multiplier' to advanced.yml
Added 'Skills.Repair.ArcaneForging.MaxEnchantLevel' to advanced.yml (See notes)
Added 'Skills.Salvage.ArcaneSalvage.MaxEnchantLevel' to advanced.yml (See notes)
Updated Simplified Chinese (zh_CN) locale with new Spears and Maces translations, color-code spacing fixes, improved fishing messages, and corrected ability wear-off message formatting (Thanks GhostDC)
Added & color codes to JSON hover tooltip keys and new JSON.URL.*.Detail, JSON.URL.Header, for consistency with locale_en_US.properties
(Codebase) Updated deprecated durability API usage to ItemMeta Damageable API (see notes)
(Codebase) Replaced three separate healthbar metadata keys with a single HealthbarSnapshot record, eliminating duplicate restore logic spread across MobHealthDisplayUpdaterTask, CombatUtils, and TransientMetadataTools
(Codebase) Rewrote MobHealthDisplayUpdaterTask as a self-managing repeating polling task using lastHitMs timestamps to extend the display window on re-hits, replacing the single-shot runAtEntityLater approach
(Codebase) Removed unused Roll.printInfo(), Roll.getMechanics(), and Roll.getStats() overrides; deprecated SubSkill interface methods getStats() and getMechanics() for removal
(Codebase) LocaleLoader.formatComponent() now supports [[NAME]] color tokens (e.g. [[RED]], [[DARK_AQUA]], [[BOLD]]) by translating them to & codes before Adventure serialization, so all three mcMMO color formats (&X, &#RRGGBB, [[NAME]]) work in JSON hover components
(Codebase) Rewrote TextComponentFactory to use LocaleLoader.getTextComponent() throughout, eliminating all hard-coded NamedTextColor constants from JSON hover component construction — all colors and text are now fully configurable via locale strings
(Codebase) Added locale keys JSON.Type.Passive, JSON.Type.Active, JSON.Type.SuperAbility, JSON.Locked, JSON.LevelRequirement, JSON.DescriptionHeader, JSON.URL.*.Detail, JSON.URL.Header, JSON.URL.Label.* with appropriate & color codes in locale_en_US.properties
(Codebase) Removed dead TextUtils.addChildWebComponent() method
(Codebase) Bumped api-version in plugin.yml from 1.13 to 1.20.5, eliminating legacy bytecode field-rename shims applied by the server at load time
NOTES:
The Mooshroom Shake fix is auto-migrated at startup (Shake.MUSHROOM_COW → Shake.MOOSHROOM in fishing_treasures.yml).
Regarding the telekenisis plugin compatibility fix, Tree Feller is not yet fixed, I will try to address it in the near future.
In this update I've added two new advanced.yml settings for more granular control of the enchant level cap for both Repair and Salvage, this is an alternative to flipping on ExploitFix.UnsafeEnchantments in experience.yml which simply uncaps both skills.
If ExploitFix.UnsafeEnchantments happens to be enabled in experience.yml, it will override both of these new settings and therefor allow basically uncapped enchant levels for Arcane Forging and Arcane Salvage.
Allowing the old setting to override is mostly for backwards compatibility so we don't disrupt any existing server behavior.
If you have this setting on, but you want to use the new more granular settings, simply turn off ExploitFix.UnsafeEnchantments and configure the new settings to your liking.
Regarding immature crops, mcMMO used to block them from dropping and just replanted them instead, now they will drop and only replant if you have the relevant seed in inventory, which matches vanilla behavior better.
The fishing hand-context changes in this update may fix reports where off-hand fishing seemed quicker than main-hand fishing.
Durability handling now uses ItemMeta Damageable APIs instead of deprecated ItemStack durability methods.
This may address some custom armor durability issues, but if you can still reproduce custom armor repairing when struck by axes, please report the bug with exact reproduction steps and custom-item/plugin details.
The mob custom name corruption bug: if a mob was hit again before the healthbar display timer expired, the healthbar string was being saved as the "original" name, so the mob would permanently show healthbar text after the timer fired.
Sure, ad-blocking software does a great job at blocking ads, but it also blocks useful features of our website. For the best site experience please disable your AdBlocker.