## **NOTICE!**
Support for the legacy permission nodes is now **ended**!
Please make sure **ALL** related permissions are moved to the new prefix `feathermorph.XXX` before updating!
## New Features
- **Added initial support for specifying disguise properties (variants)**
- Currently only through the disguise command!
- The usage is: `/morph <id> <properties>`
- For example, to disguise as an Armor Stand with arms: `/morph minecraft:armor_stand [armor_stand_show_arms=true]`
- For multiple properties: `/morph foo:bar [property1=value1, property2=value2, ...]`
- It's now possible to specify worlds that disabled the disguise feature through the config
- `config.yml > world_option > disabled_worlds`
- Players can now unlock the Creaking disguise by breaking a natural and active Creaking Heart
- Added two actions for Creaking disguise
- Illagers will now attempt to avoid players disguised as Creaking
- Wither Skeleton disguise now can make the player immune from the wither effect
- Added new placeholder `feathermorph_state_provider_is?<namespace>`, to identify the category (**The namespace**) of the player's disguise
- For example, to identify whether a player is using a player disguise: `feathermorph_state_provider_is?player`
- To identify whether a player is disguised as a mob: `feathermorph_state_provider_is?minecraft`
- Added new placeholder `feathermorph_state_id_is?<id>`, to identify whether a player is using a specific disguise.
- For example, to identify whether a player disguises as Creaking: `feathermorph_state_id_is?minecraft:creaking`
## Bug Fixes
- **Client session not being cleared after player disconnects**
- Placeholder expansions are no longer available after `/papi reload`
- The plugin doesn't download Minecraft language file that matches the currently running version
- Towny integration tries to process an offline player when it has been added to a town
## Other
- **We're now a pure Paper plugin!**
- That means Spigot servers are no longer able to load this plugin
- **Support for legacy permission nodes (`xiamomc.morph.XXX`) is now DEPRECATED! Please move to the new permission node (`feathermorph.XXX`)!**
- For example, `xiamomc.morph.chat_override` is now `feathermorph.chat_override`
- **Changed placeholder names from `morph_...` to `feathermorph_...`**
- **Changed how FeatherMorph communicates with client mods**
- Tweaked Placeholder expansions' behavior
- Now returns more specific feedback if the parameter is not valid or the player is not disguised
- Player disguises no longer have a Custom Name metadata
- We now use Brigadier to register commands
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }