
FeatherMorph
Yet another disguise plugin. Disguise as mobs and players, then acquire unique skills and abilities!
2.8.0-alpha.2
alpha10 декабря 2025 г.Bug Fix
- Debug message
Text icon for <...> is <...>spamming in console if any usage of disguise text icon is invoked
Full Changelog: https://github.com/NiFeather/FeatherMorph/compare/2.8.0-alpha.1...2.8.0-alpha.2
2.6.0-alpha.3
alpha10 декабря 2025 г.New Features
- Now an instance of
DisguisePropertycan declare that it's invisible for the client mod- FeatherMorph doesn't have properties that require this feature yet; it's mainly made for other plugins' development.
- Added
readStringmethod forInputHandles. - The plugin will now attempt to show the exception's message if it occurred while updating or has been forwarded to the
DisguiseState. - Bring the ability for async player data loading in Instance Network to
IManagePlayerData.- Currently, only when the Instance Network is enabled, and the current server is a Slave Server in the network, the async loading feature is fully utilized.
- If supported, when a player enters the configuration state, the plugin will attempt to load their data async, and wait for up to 150ms per player, then allow them to keep logging in after the timeout, and notify their client when the data finishes loading.
- We wait for up to 150ms is to make sure that the disguise unlock data can immediately be available after the player logs in on fast machines.
- And maybe this waiting feature would be removed in the next (edit: next or future) releases, as it literally conflicts with the async concept... 🤯
Other
- Simplified exception handling in some places.
- The message
morph.error_while_disguising_user_faultin the language file has been renamed tomorph.error_parsing_property. - The interval of batching player data requests has been changed from 10 ticks to 2 ticks, to adapt to the new
IManagePlayerData#loadPlayerDataAsyncmethod
Full Changelog: https://github.com/NiFeather/FeatherMorph/compare/2.6.0-alpha.2...2.6.0-alpha.3
2.8.0-alpha.1
alpha10 декабря 2025 г.This is a release on the 1.21.11/feature branch.
New Feature
- [2.7.0] Added new debug command
/debugForValue, for listing all registeredSingleValuein the given value set. - Added support for Zombie Nautilus's variant property.
Other
- [2.7.0] We are now 1.21.11
- [2.7.0] Bumped PacketEvents to 2.11.0
- [2.7.0] Added a workaround not to send the packet if we have a huge data body.
- This prevents exceptions from being thrown when trying to send a huge amount of available disguise or a huge disguise data.
- Currently, I have no idea how to solve the problem, so let's not sync the list for now. Players can still select the disguise using the
/morphcommand, and other features would still work... Unless the data still exceeds the limit.
Full Changelog: https://github.com/NiFeather/FeatherMorph/compare/2.6.0-alpha.3...2.8.0-alpha.1
2.7.0
release10 декабря 2025 г.This is a release on the 1.21.11/main branch. For the upcoming new features, see https://github.com/NiFeather/FeatherMorph/pull/61
New Feature
- Added new debug command
/debugForValue, for listing all registeredSingleValuein the given value set.
Other
- We are now 1.21.11
- Bumped PacketEvents to 2.11.0
- Added a workaround not to send the packet if we have a huge data body.
- This prevents exceptions from being thrown when trying to send a huge amount of available disguise or a huge disguise data.
- Currently, I have no idea how to solve the problem, so let's not sync the list for now. Players can still select the disguise using the
/morphcommand, and other features would still work... Unless the data still exceeds the limit.
Full Changelog: https://github.com/NiFeather/FeatherMorph/compare/2.5.2...2.7.0
2.6.0-alpha.2
alpha4 декабря 2025 г.New Features
- Now applying the Interaction Mirror for mannequins also requires the player to have the normal Interaction Mirror permission
- On new installations, the Icon for the current disguise is now shown in the actionbar by default
- Killing mobs with
feathermorph_nogranttag will now not unlock the relevant disguise for the player - Refactored how the plugin sends messages to players
- It's now possible to extract the built-in language file using the
/fm extract language <lang>command- Permission for this command is
feathermorph.admin. - If there's already a matching file on the disk, the extracted file will install to
messages/<lang>.fmnew.jsonby default - You can overwrite it by using
/fm extract language <lang> true, this operation requires you to confirm by executing again
- Permission for this command is
- Slaves in the Instance Network now request data for the player when they join, instead of the master server loading and syncing all data to slaves upon startup.
- It's now possible to get the relevant
DisguiseStateinstance inPlayerUnMorphEvent. - Third-party plugins are now able to add their
SinglePropertyinstances toDisguisePropertieson bootstrap, which would allow automatic assignment from player inputs.
Other
- Mannequins would now be normally selected by Interaction Mirror Executors, instead of being treated as specials.
by_sightmirror mode now respects the maximum affect distance set in the config- Gradle task
runFoliais now available - The actionbar message for disguise is now handled by
DisguiseState. readRotationsfrom InputHandles now throws an error when the player gives more than 3 elements- This means that giving more than 3 elements for various rotation properties for the Armor Stand disguise will now result in an error message.
- Migrated configuration definition from plugin's own
ConfigOptionenum toConfigOptionclass from PluginBase
Full Changelog: https://github.com/NiFeather/FeatherMorph/compare/2.5.2...2.6.0-alpha.2
Совместимость
Minecraft: Java Edition
Создатели
MATRIX-feather
Владелец