New Features
- Horse disguise now can make players step on one-block height
- Added toggle to switch if flying in fluids is allowed
- This can nerf some behavior, like mining Ancient Debris in lava in the Nether
- Add permissions for abilities
- Now every ability from a disguise will have a matching permission node.
- The node format is
xiamomc.morph.ability.<DisguiseID>.<AbilityID>
- For example, the Night Vision ability for Enderman disguise is
xiamomc.morph.ability.minecraft.enderman.morph.night_vision
- For example, the Night Vision ability for Enderman disguise is
- Because the permission check has a high performance impact, we added an option to disable it. You can disable this feature through the config file or using the
/fm option ability_check_permissions
command to toggle.
Bug Fixes
- Projectiles launched by players having a wrong speed
- Armor Stand disguise has a different arm status between the client and the server
- Some mobs don't avoid players like expected after updating
1.1.0-beta.4
- Slime and Magma Cube disguises have a wrong size on the server side
- Slime and Magma Cube disguises are always at a fixed size when bounding box modification is disabled
Other
- Vexes summoned by a player will now attack the mob that the player attacks or attacked by the player
- Iron Golem disguise will now throw mobs higher on attack
I guess we are close to the stable release?
Bug Fix
- Armor Stand disguise has a different arm status between the client and the server
Other
- Only send attributes that are needed for a disguise
Bug Fixes
- Waking up when disguised will cause clients nearby to disconnect with protocol error
- Fixed multiple errors with the Client Disguise Renderer
- It's recommended to install ProtocolLib to use the Server Disguise Renderer, CDR is now half-broken, and we plan to remove it in the future.
- The ability doesn't get removed first upon reapplying
Other
- Send attribute packets, again.
- Yes, it's needed. For example, the player's scale :(
Bug Fixes
- Llama disguise can cause a network protocol error on the client
- Slime and Magma Cube disguises have a wrong size on the server side
- Slime and Magma Cube disguises are always at a fixed size when bounding box modification is disabled
- Player disguise will still try to create a virtual entity even if the bound player is offline
Other
- We are now 1.21
- Prevent sending packets that are not needed
Bug Fixes
- Cat disguise with Server Renderer would cause exceptions on the server side
- Traveling through worlds while disguised would make players nearby disconnect with "Network Protocol Error"
- Plugin throws an exception about can't send plugin messages while disabling
Other
- Forcing disguise someone no longer searches for which mob they're looking at
New Features
- Initial support for multiple backends working at once
- Merged from 1.20.4, also brings ModelEngine4 support if possible
- Add permissions for abilities
- Now every ability from a disguise will have a matching permission node.
- The node format is
xiamomc.morph.ability.<DisguiseID>.<AbilityID>
- For example, the Night Vision ability for Enderman disguise is
xiamomc.morph.ability.minecraft.enderman.morph.night_vision
- For example, the Night Vision ability for Enderman disguise is
- Because the permission check has a high performance impact, we added an option to disable it. You can disable this feature through the config file or using the
/fm option ability_check_permissions
command to toggle.
Other
- Vexes summoned by a player will now attack the mob that the player attacks or attacked by the player
- Iron Golem disguise will now throw mobs higher on attack
- Changed the method used to modify mobs' ai in the world
- Completed the hostility and avoidance relationship between creatures and disguises
New Feature
- Horse disguise now can make players step on one-block height
Bug Fixes
- Wolf variants are not synced to the client
- Frog variants are not written to packets using the correct type
- And causes some errors
- InteractionMirror doesn't process predicates correctly
New Features
- Initial support for multiple backends working at once
- I'm calling it initial because it changes some core components, and I'm not sure if other components would work as expected
- Initial support for ModelEngine4
- The disguise ID is
model4:<model name>
- The disguise ID is
It seems that ProtocolLib for 1.20.6 is now usable, you can install it to use the Server Renderer.
Bug Fix
- Frog variants are unable to display with the Server Renderer
Other
- Added Wolf variant support
- This doesn't sync to the client but will come in future releases.
- Fixed effect particle for disguises
PS: Because ProtocolLib doesn't support 1.20.6, the Server Renderer will not work now.
Other
- Initial 1.20.6 support
- Client Renderer may not fully work.
Bug Fix
- Triggering InteractionMirror between two different regions would throw an exception
Other
- Disabled ChatOverride and InteractionMirror on new installations by default
- These features are originally made for fun, and not considered to keep this long... So I'm planning to remove these in the future.
Bug Fixes
- Disguising as disguises that have variants like Panda and Villager will cause other clients to have a lag spike
- The sonic boom skill couldn't be used on Folia
- Trader Llama disguise has an invalid hurt sound
Bug Fix
- Exceptions are thrown upon disguise grant or revoke if the instance network is disabled
Other
- Folia support
- It has been a while, and we don't see any further errors on our server, so let's merge it into the mainline!
New Feature
- (Beta) Added instance network
- This can sync players' disguise unlock statements across multiple FeatherMorph instances.
- Check the config for more information! (
root -> multi_instance
)
Bug Fixes
- Teleport skill finds an incorrect destination to teleport sometimes
- Creeper disguise doesn't have a powered variant
New Features
- Added TAB integration. Players' custom tags will be hidden when they disguise
- Added some fly-related permissions
- To allow a player to fly, it needs
xiamomc.morph.can_fly
permission. (Allowed by default) - Flag
xiamomc.morph.can_fly.in.<world_id>
as false if you don't wish someone to fly in a specific world, whereworld_id
is the world's name, likeworld_nether
orworld_the_end
xiamomc.morph.can_fly.always
is used to determine if someone could always fly ignoring any other conditions (Hunger, World permission, etc.). The only way to block is to disable the flight
- To allow a player to fly, it needs
Bug Fix
drop
subcommand under/fm skin_cache
only accepts alphabets in lowercase for Tab completion
Other
- Declared some permissions' default value
- Tweaked default config for new installations
- Add wildcard (
*
) to the Tab completion for/fm manage unmorph
command
Bug Fix
- Fixed another bunch of thread errors:
- Disguising as Chicken with Fox around will spam error in the console and finally make the plugin stop working
- Disguising in The End or Nether will throw a thread error
- Sometimes disguising will cause errors when doing attribute modification or initializing ambient sound
/fm reload
throws off-main thread error after reloading data
Another test build for making Folia support!
If you meet any issues, please report them on our GitHub issue tracker!
Bug Fixes
- Several off-main thread exceptions that prevent players from disguising themselves
- Processing meta packets throws
async getEntities()
exception
Some features from the dev branch
These features are still pending and may change in future!
- Added permission to allow players to use the fly ability (
xiamomc.morph.can_fly
) - Allow players with permission to ignore the flying conditions and always fly(
xiamomc.morph.can_fly.always
) - Fixed
skin drop
only accepts lower alphabet for Tab Completion - Added wildcard (
*
) tomanage unmorph
command that can undisguise all disguised players