Host your Minecraft server on BisectHosting - get 25% off your first month with code MODRINTH.
Filter loader...
Filter versions...
Filter channels...

1.3.0

by MATRIX-feather on Oct 24, 2024
Download

This version includes some changes related to permissions, please attention!

  • Permissions will now use feathermorph as the prefix instead of xiamomc.morph, while other usages remain unchanged.
  • Support for legacy permission nodes will be removed in 1.5.0.
    • Which is expected to be released with the 1.22 winter drop.

We recommend updating ProtocolLib to version 5.3.0, which you can download here.

New Features

  • Inventory GUI for Disguise Action selection
  • Added Disguise Tool
    • This replaces the old skill item.
    • By default, the disguise tool can be obtained through crafting using Feather + Redstone. The recipe can be configured in recipes.yml.

    • Assuming we are using the default keybinds:
    • Players can open the disguise selection GUI with Sneak + RMB, and unmorph themselves with Sneak + LMB.
    • When disguising, use RMB to activate skills, and LMB to open disguise action selection.

    • You can also execute the command /fm make_disguise_tool while holding an item to make it a Disguise Tool.
  • Towny Integration
    • It is now possible to set whether flying is allowed in the wilderness in worlds with Towny enabled.
    • Players can also set whether their town allows flying through the command /toggle-town-morph-flight. By default, flying is allowed in all towns.
      • The permission node for this command is feathermorph.toggle_town_fly

    • Players can fly in towns that allow flying if they meet any of the following conditions:
      • The player is a resident/mayor of the town.
      • The player is trusted by the town.
      • The player and the town belong to the same nation.
      • The player's town is allied with the target town.
    • Note! Due to the mysterious teleport event trigger conditions of Folia, there may be bypass issues on these servers.
      • It is currently known that using the vanilla teleport command will not trigger the event, so avoid using this command to teleport others whenever possible.

Bug Fixes

  • The packet that hides a player from other's TAB list is also sent to the hidden player
    • And causes the hidden player’s client don't display their skin.
  • Armor stand disguises do not correctly present the source entity’s pose.
  • Creeper disguises do not have charged variants.

Other

  • Changed permission prefix
    • Permission nodes have changed from xiamomc.morph.XXX to feathermorph.XXX.
  • Changed package name
    • Package name has changed from xiamomc.morph.XXX to xyz.nifeather.morph.XXX.
  • Tweaked Skill Configuration and Player Data Storage
    • Skill configurations are now distributed in the skills directory, stored as <namespace>/<id>.json.
      • For example, the skill configuration for minecraft:sheep is located at skills/minecraft/sheep.json.
    • Player configurations are now stored in the playerdata directory as <UUID>.json.
    • The original data.json and skills.json will be renamed to data.json.old and skills.json.old.
  • Added profile request batching
    • Requests for player profiles in the plugin will now be processed in batches at intervals to prevent Mojang API from rejecting them with' 429 Too Many Requests` when many requests are made.
  • Warden disguises will now become invisible after the digging animation finishes.
  • Removed TAB integration
    • It is no longer needed.

Bug Fix

  • Disguises having random variants doesn't randomize upon disguising, instead it prints warnings to the console. (The given property '...' doesn't exist)

1.2.6

by MATRIX-feather on Sep 30, 2024
Download

New Features

  • (Experimental) Allow hiding disguised players from the TAB list
  • (Experimental) Allow displaying player disguises on the TAB list

Other

  • Removed suggestion about using the client mod
  • Allow 1.21 servers for using this
    • That said, we still suggest upgrading your server to 1.21.1 since 1.21 is no longer supported by Paper and we target the latest 1.21.1 API in the dev environment
  • Tweaked some disguise's icon on the selection GUI
  • The disguise selection GUI will now play sound when opening and flipping pages
  • The UUID of the disguise now has a more specific rule to generate
    • But the client still doesn't have much chance to crack it, as long as they don't have access to the plugin configuration

New Features

  • Added Inventory GUI for disguise selection
    • You can open it using the /morph command! With no arguments, it will open the GUI instead of complaining that there are not enough arguments.
  • Now can configure whether players can fly in water/lava in different worlds

Bug Fix

  • ServerSetEquipCommand doesn't construct the client command correctly
    • And cause the client can't see the disguise's equipment

Other

  • The undisguise operation now plays the same sound as the disguise op
  • Avoid modifying the mob's AI twice
    • I don't know why a modified mob could get passed to the plugin again, so let's make a workaround for this...

New Feature

Disguise Actions

Or Disguise Emotes/Animations

You can play the action using the client mod >= 0.6.4 or /play-action command.

The permission node for the action is xiamomc.morph.emote.<DisguiseID>.<ActionID>

  • You can check the Action ID using the /play-action command.
  • For example, the node of Allay Dancing action is xiamomc.morph.emote.minecraft.allay.dance
  • The node for Player disguises is xiamomc.morph.emote.player.all.<ActionID>

Currently, these actions only have visual effects, they don't interact with the environment.

1.2.1 comes with these actions bundled:

Disguise Action(s)
Allay Dance
Warden Roar, Sniff, Dig down, Appear
Armadillo Roll up
Cat Lay, Sit
Fox Sit, Sleep
Frog Eat(Use tongue)
Panda Sit
Piglin Dance
Player Lay, Crawling
Pufferfish Inflate, Deflate
Shulker Peek, OPen
Sniffer Sniff
Wolf Sit

Bug Fix

  • Disguises are not recovered after reloading configuration

Other

  • Tweaked the node of abilities and skills for player disguise
    • It's now xiamomc.morph.skill.player.all.<SkillID>

Other

  • Update to 1.21.1

This release mainly fixed several issues when running on Folia.

Bug Fixes

  • Zombie Villager disguise doesn't have random variants
  • Rabbit disguise doesn't have the Killer Bunny variant
  • Fixed several issues with Folia, this includes:
    • Can only disguise in overworld
    • InteractionMirror may throw async getEntities when players are in different regions

Other

  • Move the process of random variants from the server disguise renderer to MorphManager

New Feature

  • Allow changing whether to modify mobs' AI to make them react to the disguise
    • For your sanity, we don't recommend using /reload or any method that loads/unloads this plugin when this option is turned on!
    • Toggling this option requires a server restart!

Bug Fix

  • Skills and abilities are not re-applied upon the player's join

Other

  • Removed several internal dependencies
    • And make the plugin file ~50% smaller!
  • Attempt to optimize HUD display performance
  • Lowered the frequency of revealing value sent to the client

Other

  • Make this plugin work on Paper Build #106
    • And it's not backward compatible, you will need to update Paper to use!

A small release to fix an annoying problem.

PS: If you encountered an issue with updating disguise or MorphManager, please try this build on our GitHub!

Bug Fix

  • The maximum health does not update when switching from mob disguises to player disguises

New Features

  • Horse disguise now can make players step on one-block height
  • Added toggle to switch if flying in fluids is allowed
    • This can nerf some behavior, like mining Ancient Debris in lava in the Nether
  • Add permissions for abilities
    • Now every ability from a disguise will have a matching permission node.
    • The node format is xiamomc.morph.ability.<DisguiseID>.<AbilityID>
      • For example, the Night Vision ability for Enderman disguise is xiamomc.morph.ability.minecraft.enderman.morph.night_vision
    • Because the permission check has a high performance impact, we added an option to disable it. You can disable this feature through the config file or using the /fm option ability_check_permissions command to toggle.

Bug Fixes

  • Projectiles launched by players having a wrong speed
  • Armor Stand disguise has a different arm status between the client and the server
  • Some mobs don't avoid players like expected after updating 1.1.0-beta.4
  • Slime and Magma Cube disguises have a wrong size on the server side
  • Slime and Magma Cube disguises are always at a fixed size when bounding box modification is disabled

Other

  • Vexes summoned by a player will now attack the mob that the player attacks or attacked by the player
  • Iron Golem disguise will now throw mobs higher on attack

I guess we are close to the stable release?

Bug Fix

  • Armor Stand disguise has a different arm status between the client and the server

Other

  • Only send attributes that are needed for a disguise

Bug Fixes

  • Waking up when disguised will cause clients nearby to disconnect with protocol error
  • Fixed multiple errors with the Client Disguise Renderer
    • It's recommended to install ProtocolLib to use the Server Disguise Renderer, CDR is now half-broken, and we plan to remove it in the future.
  • The ability doesn't get removed first upon reapplying

Other

  • Send attribute packets, again.
    • Yes, it's needed. For example, the player's scale :(

Bug Fixes

  • Llama disguise can cause a network protocol error on the client
  • Slime and Magma Cube disguises have a wrong size on the server side
  • Slime and Magma Cube disguises are always at a fixed size when bounding box modification is disabled
  • Player disguise will still try to create a virtual entity even if the bound player is offline

Other

  • We are now 1.21
  • Prevent sending packets that are not needed

Bug Fixes

  • Cat disguise with Server Renderer would cause exceptions on the server side
  • Traveling through worlds while disguised would make players nearby disconnect with "Network Protocol Error"
  • Plugin throws an exception about can't send plugin messages while disabling

Other

  • Forcing disguise someone no longer searches for which mob they're looking at

New Features

  • Initial support for multiple backends working at once
    • Merged from 1.20.4, also brings ModelEngine4 support if possible
  • Add permissions for abilities
    • Now every ability from a disguise will have a matching permission node.
    • The node format is xiamomc.morph.ability.<DisguiseID>.<AbilityID>
      • For example, the Night Vision ability for Enderman disguise is xiamomc.morph.ability.minecraft.enderman.morph.night_vision
    • Because the permission check has a high performance impact, we added an option to disable it. You can disable this feature through the config file or using the /fm option ability_check_permissions command to toggle.

Other

  • Vexes summoned by a player will now attack the mob that the player attacks or attacked by the player
  • Iron Golem disguise will now throw mobs higher on attack
  • Changed the method used to modify mobs' ai in the world
  • Completed the hostility and avoidance relationship between creatures and disguises

New Feature

  • Horse disguise now can make players step on one-block height

Bug Fixes

  • Wolf variants are not synced to the client
  • Frog variants are not written to packets using the correct type
    • And causes some errors
  • InteractionMirror doesn't process predicates correctly

New Features

  • Initial support for multiple backends working at once
    • I'm calling it initial because it changes some core components, and I'm not sure if other components would work as expected
  • Initial support for ModelEngine4
    • The disguise ID is model4:<model name>

It seems that ProtocolLib for 1.20.6 is now usable, you can install it to use the Server Renderer.

Bug Fix

  • Frog variants are unable to display with the Server Renderer

Other

  • Added Wolf variant support
    • This doesn't sync to the client but will come in future releases.
  • Fixed effect particle for disguises

PS: Because ProtocolLib doesn't support 1.20.6, the Server Renderer will not work now.

Other

  • Initial 1.20.6 support
    • Client Renderer may not fully work.

Project members

MATRIX-feather

Owner

Details

Licensed MIT
Published 2 years ago
Updated 3 days ago