Bug Fix
- When using Instance Network, host server throws
java.lang.IllegalStateException: A master server should have both master and slave instances active!
when player unlocks or lost disguise
Other
- Plugin will now attempt to undo changes made to player when they leave the server
- Added use (
feathermorph.magic_bottle.use
) and exclude (feathermorph.magic_bottle.exclude
) permission for Magic Bottle- "use" controls whether a player can use the feature
- "exclude" controls whether a player's disguise can be collected using the bottle
- Bump Java-Websocket from 1.5.7 to 1.6.0
Notice! This Release comes with API and major Instance Network changes!
Bug Fix
- Sometimes FeatherMorph will process its own WrapperPlayServerEntityEquipment packet
Other
- Added some workarounds for the Towny Integration on Folia servers
- Currently, it resolves the problem where the fly ability's state is not updated when the player being teleported to/from a town
- Changed behavior for Instance Network
- Please note that this change makes this and future 2.x releases INCOMPATIBLE with 1.x!
- Now "Client" servers will no longer use their local player data once they finish the setup successfully
- Improved implementation of the Disguise Selection server GUI
- Headmorph for player heads now no longer undisguise the player when the skin is equal between current disguise and the item
API Changes
- Moved API events to
xyz.nifeather.morph.api.events
package - Added
DataStoreSwitchEvent
- Called when
MorphManager
's data storage is being switched
- Called when
- Added events about the Magic Bottle
PlayerCollectMagicBottleEvent
andPlayerConsumeMagicBottleEvent
- FeatherMorph API version has bumped to 3
Things that may not work: Cross-Server data sync (Instance Service)
Starting from 2.0.0, FeatherMorph will require PacketEvents 2.8.0 or later to enable Server Renderer! You can download here
New Features
- Added Magic Bottle that can be used to collect disguise from other players or friendly mobs
- Yes, it's acturally called Magic Bottle
- Can be crafted using Redstone and Glass Bottle, sneak and interact an entity to collect
- For recipe configuration, see recipe.yml
- Added experimental Interaction Mirror Controller
BY_RANGE
- Notice! If player has installed client integration, we suggest using the latest 1.21.5 release ( ≥ 0.11.2 ), otherwise something might go weird...
- Once enabled, interactions will be mirrored to the target and nearby players disguised as the target
- If the player is not disguised, interactions will still be mirrored to nearby players disguise as the player
Bug Fixes
Cannot register channel. Too many channels registered!
is thrown when a player join the server (#37)- Console logs
This command is currently only available to players.
when completing commands
Others
- We now spawn particles nearby the player when they unlocked disguises
- Added Mod/Resourcepack i18n support for Disguise Tool and Magic Bottle for new plugin installations
- If you wish to use this feature on an existing installation, remove/move away the old recipe configuration (
recipe.yml
) to let the plugin generate a new one, and it should good to go!
- If you wish to use this feature on an existing installation, remove/move away the old recipe configuration (
Starting from 2.0.0, FeatherMorph will require PacketEvents 2.8.0 or later to enable Server Renderer! You can download here
New Feature
- Implement mod protocol V3
- V2 (1.21.3 ~ 1.21.4) and V1 (1.21.3-) is still supported meanwhile
- Added aggressive animation for the evoker skill
Bug Fixes
- Bug fixes for the evoker skill
- Fixes fangs not spawning on slabs or spawns at the wrong location
- Fangs are no longer affected by player pitch
- After 2.1.0.beta1, players can reset their Mob Reveal by re-joining the server
- Trying to activate quick disguise for non-living entities is allowed
Other
- Tweaked the evoker skill
- The plugin will now attempt to keep vexes summoned near the summoner
- Summoned vexes will now attempt to attack the target as soon as possible
- When the server difficulty is not Peaceful, players can now always summon vexes by sneaking
- Players can now only have up to 6 vexes summoned at once
- Summoned vexes will now get cleared once the summoner is undisguised
- Removed player list modification feature
- Tweaked trigger condition for attack animation
Starting from 2.0.0, FeatherMorph will require PacketEvents 2.8.0 or later to enable Server Renderer! You can download here
New Feature
- Added support for Pig, Cow, and Chicken variants
Bug Fix
- Trying to fix UpdateHandler again
Other
- Migrate from ProtocolLib to PacketEvents
- So now FeatherMorph requires PacketEvents 2.8.0 or later to use the Server Renderer
- But they haven't released 2.8.0 yet, so here comes the beta build
- Removed ModelEngine support
- Tweaked the behavior of Mob Revealing
- Plugin will now attempt to filter players' attribute packets to prevent log spam on clients
- Checking updates via the command will now display more check status, rather than only notify about new updates/already the latest
A hotfix release to fix some client integration issues.
Attention! 1.5.8 now requires the latest Paper build, which you can download at https://papermc.io/downloads/paper
Bug Fixes
- 1.21.1 FMC clients are unable to activate the client integration
- Plugin throws Plugin must be enabled to send messages error on shutdown
Other
- Can't use client integration on recent versions of Paper
This release backported some changes from the 1.21.4 branch
New Feature
- Added experimental FeatherMorphAPI
- Currently, we only have a few utilities, and a FeatherMorphDirectAccess to allow people to access the plugin's internal components...
- Added new Towny integration command
town_morph_flags
, which can be used for setting town settings about morphs- Notice! This replaces the original
toggle-town-morph-flight
command and its settings, also now residents and trusted players can always fly in the town. - Currently, there are two flags available for tweak
allow_outsiders_flight
: Whether to allow outsiders to fly in townallow_outsiders_use_skill
: Whether to allow outsiders to activate skills in town
- Abilities currently are not controlled by the flags, but they will be in the future
- Notice! This replaces the original
Bug Fixes
- Some management commands don't filter disguises using the input ID correctly
- Disabling client integration when running causes all 1.21.4 players using FMC to disconnect
- Sometimes the plugin doesn't process new players' data correctly, and java.lang.IllegalStateException is thrown.
HealsFromEntityAbility
throwsAccessing LegacyRandomSource from multiple threads
on recent versions of Folia- Player's max health not scaling when switched from one disguise to another
- Admins' client integration isn't aware when a player rejoins the server with disguise
Other
- Update PluginBase
- Attempt to patch a possible memory leak
- When Headmorph is disabled, trying to activate this feature will no longer receive the feedback about it being disabled
- Tweaked the implementation of Interaction Mirror
- Some minor performance optimize
- The plugin will now attempt to align the disguise's facing direction along with the bed when the "Lay" action is played
New Feature
- Added new Towny integration command
town_morph_flags
, which can be used for setting town settings about morphs- Notice! This replaces the original
toggle-town-morph-flight
command and its settings, also now residents and trusted players can always fly in the town. - Currently, there are two flags available for tweak
allow_outsiders_flight
: Whether to allow outsiders to fly in townallow_outsiders_use_skill
: Whether to allow outsiders to activate skills in town
- Abilities currently are not controlled by the flags, but they will be in the future
- Notice! This replaces the original
Other
- Some minor performance optimize
- The plugin will now attempt to align the disguise's facing direction along with the bed when the "Lay" action is played
API
- API version is now bumped to 2
- Moved SkillType and AbilityType to the API, and renamed them to SkillNames and AbilityNames
New Feature
- The plugin will now attempt to avoid players sitting on others disguised as Creaking
Bug Fixes
- Player's max health not scaling when switched from one disguise to another
- Admins' client integration isn't aware when a player rejoins the server with disguise
Other
- The Dig down action for Warden no longer makes players vanish, instead they'll just become invisible
API
FeatherMorphDirectAccess#requestManager
will now returnIManageRequests
rather thanRequestManager
- Fixed calling
FeatherMorphDirectAccess#requestManager
throwsNullDependencyException
- Someone used a wrong type
- Added
APIMeta
, can be used to lookup some API metadata- Currently only API version
- Added
UtilitiesAlpha#lookupDisguiseUUIDFromPlayer
andUtilitiesAlpha#isServerBackend
lookupDisguiseUUIDFromPlayer
can be used to lookup for someone's disguise's virtual entity UUID, if the server is running ServerBackend- ...And
isServerBackend
can be used to check if the server is running ServerBackend
New Feature
- Added experimental FeatherMorphAPI
- Currently, we only have a
FeatherMorphDirectAccess
to allow people to access the plugin's internal components, and aUtilitiesAlpha
that only has two functions 🧐
- Currently, we only have a
Bug Fixes
HealsFromEntityAbility
throwsAccessing LegacyRandomSource from multiple threads
on recent versions of Folia- The distance for Interaction Mirror is hard-coded to 100 blocks, rather than the distance configured in the config file
Other
- We no longer try to recover AI modifications on server shutdown
- Tweaked the implementation of Server Renderer
Bug Fix
- Some management commands don't filter disguises using the input ID correctly
- Disabling client integration when running causes all 1.21.4 players using FMC to disconnect
Other
- When Headmorph is disabled, trying to activate this feature will no longer receive the feedback about it being disabled
- Update PluginBase
- Attempt to fix a possible memory leak
- Tweaked the implementation of Interaction Mirror