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
A small release to hide these annoying warnings from appearing in the terminal by default (Unless debug_output
is on):
We don't know why a non-nullable method from Minecraft could return a null value, but it happens, and it's very often :<
However, it doesn't seem to affect anything so far. We will keep tracking this issue until we find out why this could happen and what it affects.
Starting from this version, FeatherMorph will only have ProtocolLib as a dependency and no longer requires LibsDisguises.
New Feature
- Implemented server-side disguise renderer
- This will help us in making compatibility with Folia in the future.
- If ProtocolLib is not installed, we will use the client-side renderer instead.
Other
- Disable ourselves when loaded on an unsupported Minecraft version
Changes since 1.0.0-rc.1
1.0.0
- Fix Armor Stand disguises not applying
ShowArms
property - Only display lookup warnings when
debug_output
is enabled
1.0.0-rc.2
- Handle several common exceptions during skin lookup
- Don't remove expired skins for now
- Fix disguises with no name displaying a blank nametag above their head
Starting from this version, FeatherMorph will only have ProtocolLib as a dependency and no longer requires LibsDisguises.
New Feature
- Implemented server-side disguise renderer
- This will help us in making compatibility with Folia in the future.
- If ProtocolLib is not installed, we will use the client-side renderer instead.
Other
- Disable ourselves when loaded on an unsupported Minecraft version
Changes since 0.13.10-rc.1
0.13.10
- Fix Armor Stand disguises not applying
ShowArms
property - Only display lookup warnings when
debug_output
is enabled
0.13.10-rc.2
- Handle several common exceptions during skin lookup
- Don't remove expired skins for now
- Fix disguises with no name displaying a blank nametag above their head
This is a Release Candidate release for 1.20.2 to test our work on server-side disguise renderer implementation. If you find any issues, please report them on our GitHub Issues!
This version no longer requires LibsDisguises to display disguises! Only ProtocolLib!
Changes
- Fix update checker only checking featured versions for an update.
- Only send packets to affected players instead of the whole world
- Remove player-exclusive metadata instead of building a full meta of the disguise upon meta packets.
- Build full meta packet when constructing spawn packets.
- Use the V2 plan to fetch player disguises' skin
This is a Release Candidate release for 1.20.4 to test our work on server-side disguise renderer implementation. If you find any issues, please report them on our GitHub Issues!
This version no longer requires LibsDisguises to display disguises! Only ProtocolLib!
Changes
- Fix update checker only checking featured versions for an update.
- Only send packets to affected players instead of the whole world
- Remove player-exclusive metadata instead of building a full meta of the disguise upon meta packets.
- Build full meta packet when constructing spawn packets.
- Use the V2 plan to fetch player disguises' skin