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
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
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
This is an alpha release to test our work on Folia support. If you find any issues, please report them here!
New Feature
- Implemented Client Disguise Renderer Protocol
Other
- Only check the
Release
channel for updates
New Feature
- Implemented Client Disguise Renderer Protocol
- This supports clients to render other players' disguises and will be enabled automatically as "Plan B" when LibsDisguises is not installed and the
client.client_renderer
config option is enabled. - We would eventually make our server-side disguise renderer and no longer depend on LibsDisguises, but for now, let's do this first.
- Requires clients to install FeatherMorphClient >= 0.4.4!
- This supports clients to render other players' disguises and will be enabled automatically as "Plan B" when LibsDisguises is not installed and the
Other
- Only check for the
Release
channel for updates- Also only check updates that are available for the current platform