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
New Features
- Added
skin_cache
command- Used to interact with the skin cache, like fetch, delete, copy, and rename, also can view a cached skin by disguising.
- Players disguised as Warden no longer trigger Sculk Sensors when moving around
- This includes walking, jumping, and running, but not including riding. If someone tries to mount or dismount, it will still get heard from sensors
- Can also not get heard by other Warden when performing included actions above
- Play disguise sound when a disguised player gets hurt
- Warden and Iron Golem disguise now gives the player attack damage buff but also decreases their attack speed
Bug Fixes
- Llama Spit launches too slow
- Reconnecting the server can cause the attribute modifiers to apply multiple times
- The idle sound for Wolf disguise is incorrect
- Ender Dragon and Warden disguise lacking some extra sounds
- Ender Dragon and Warden disguise has an incorrect idle sound volume
Other
- Fixed this plugin cannot be imported via Jitpack
- Simplified permission requirements
/fm option
and all its subcommands now only requirexiamomc.morph.toggle
permission to use
Bug fixes
- Disguises always display the holder's equipment no matter what setting is when entering other players' sight
- Throwable projectiles (Like Snowball, Potion, etc.) launching too slow
- Player Disguises always display new skin fetched from the skin storage ignoring the one already cached
- Stopping the server while someone is disguising may print warnings to the console
Other
- Play a sound when a player disguises itself
Our second attempt at making Folia support! Hope we won't meet some thread-safety problems XD
If you meet any issues, please report them to this PR!
Bug Fixes
These changes will soon released along with 1.0.8 next week
- Disguise displaying player's equipment when displaying to other players in certain situations
- Throwable projectiles (Snowball, Potion, etc.) launched too slow
Other
- Folia support, we are here, again.
Bug fix
- Unable to disguise as the player you looking at
New feature
CustomName
support for disguises
Bug fixes
- Projectiles launched by players are moving too fast
- Localization missing for "Not enough space to disguise" (#6)
- And causes this message to always display a fallback message by default
- The variant attribute isn't cloned when cloning a cat disguise
- The collar color of a cat disguise isn't displayed properly
- Sounds for a disguise isn't played to other players
- The skin storage could store more than one skin for any player
- Admins' client mod not receiving aware packet when recovering a disguise from OfflineStore
Other
- Some micro-optimizations
- Generate UUID based on specific data to avoid unnecessary randomness for player disguises
- Make Breeze disguises immune from fall damage
- Tweaked player skin fetch process
- Removed some obsolete workarounds
Bug Fixes
- Parrot (And maybe Cat and Wolf) disguises may crash other players' connection
- The console logs a warning when a player undisguise themselves while using an item (
Error occurred while syncing watcher: Cannot invoke "java.util.Map.remove(Object)" because "this.handMap" is null
)
Other
- Also send attribute packet when sending disguise spawn packets
- Cancel metadata packet if it doesn't contain any data after a culling
New features
- Added Warden disguise's sonic boom animation
- Added multiple disguises' attack animation
- This includes: Iron Golem, Warden, Hoglin, Zoglin
Bug fix
/fm lookup
doesn't require permission to execute
Other
- Some small idle performance optimization
Bug Fix
/fm lookup
doesn't require permission to execute