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
This is a Beta 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
- Add support for Disguise Offline Storage (OfflineStore)
- Make disguise follow the player's
NoGravity
property - Only send packets to affected rather than all players in the same world
- Fix some incorrect packet behaviors
This is a Beta 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
- Add support for Disguise Offline Storage (OfflineStore)
- Make disguise follow the player's
NoGravity
property - Only send packets to affected rather than all players in the same world
- Fix some incorrect packet behaviors
This is a Beta 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!
New Feature
- Implemented server-side disguise renderer
- Merged from 1.0.0-beta.3
Other
- Removed dependency on LibsDisguises
- Removed GSit integration
- Because it relies on LibsDisguises integration
This is a Beta 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!
Bug Fix
- ArmorStandWatcher not merging or writing NBT compounds correct
- Effect particles' opacity doesn't look right when an ambient effect is present
Other
- Some minor optimizations
- Display an error message and disable the plugin itself when running on an unsupported version
This is a Beta release 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 you to install LibsDisguises! Only ProtocolLib!
New Feature
- Implemented server-side disguise renderer
- OfflineStore is not implemented, it will be done later
- Server-side SelfView is not supported. Because of client integration, we don't have a plan to make this yet...
Other
- Removed dependency on LibsDisguises
- Removed GSit integration
- Because it relies on LibsDisguises integration
Other
- Update to 1.20.4
- Added skill and ability configuration for Breeze disguises
New Features
- Allow setting worlds that can't use the Fly ability
- You can change the setting by using the
/fm option nofly_worlds <add|remove> <world name>
or edit in the config!
- You can change the setting by using the
- Added Residence integration, allows to set whether players can fly in a residence by setting the
nofly
flag
Bug Fix
- Changing a Player Disguise's skin on Windows using LibsDisguises backend will print a warning in the console
Other
- Allow setting banned disguises using in-game commands
/fm option banned_disguises <add|remove> <full disguise id>
- Allow setting NBT blacklist using in-game commands
/fm option blacklist_nbt_pattern <add|remove> <regex>
/fm option blacklist_tags <add|remove> <NBT tag name>
- Tweaked the update frequency of the Fly ability
- Some internal changes to InteractionMirror