▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/FeatherMorph
FeatherMorph

FeatherMorph

Yet another disguise plugin. Disguise as mobs and players, then acquire unique skills and abilities!

61.3K
100

2.8.0

Release1 нед. назад

Список изменений

New Features

  • The icon of the current disguise is now displayed when disguising
  • Entities with tag feathermorph_nogrant now won't unlock the relevant disguise for the player when being killed.
  • It's now possible to extract the built-in language file using the /fm extract language <lang> command
    • Permission for this command is feathermorph.admin.
    • If there's already a matching file on the disk, the extracted file will install to messages/<lang>.fmnew.json by default
    • You can overwrite it by using /fm extract language <lang> true. This operation requires you to confirm by executing again
  • Triggering Interaction Mirror for mannequins now requires the player to have permission to trigger Interaction Mirror
  • Slaves in the Instance Network now request data for the player when they join, instead of the master server loading and syncing all data to slaves upon startup.
  • It's now possible to get the relevant DisguiseState instance in PlayerUnMorphEvent.
  • Third-party plugins are now able to add their SingleProperty instances to DisguiseProperties on bootstrap, which would allow automatic assignment from player inputs.
  • Added support for Zombie Nautilus's variant property.
  • Now an instance of DisguiseProperty can declare that it's invisible for the client mod
    • FeatherMorph doesn't have properties that require this feature yet; it's mainly made for other plugins' development.
  • Added readString method for InputHandles.
  • The plugin will now attempt to show the exception's message if it occurred while updating or has been forwarded to the DisguiseState.
  • Bring the ability for async player data loading in Instance Network to IManagePlayerData.
    • Currently, only when the Instance Network is enabled, and the current server is a Slave Server in the network, the async loading feature is fully utilized.
    • If supported, when a player enters the configuration state, the plugin will attempt to load their data async, and wait for up to 150ms per player, then allow them to keep logging in after the timeout, and notify their client when the data finishes loading.
      • We wait for up to 150ms is to make sure that the disguise unlock data can immediately be available after the player logs in on fast machines.
      • And maybe this waiting feature would be removed in the next (edit: next or future) releases, as it literally conflicts with the async concept... 🤯\
      • Slave servers no longer wait for up to 150ms for the master server to respond to our lookup request
  • Added abilities for Nautilus and Zombie Nautilus
    • Disguising as Nautilus now gives the player the ability to breathe underwater and dryout in the air
    • Disguising as Zombie Nautilus would additionally make the player burn under the sun if not equipped with a helmet.
  • Added Dash skill
    • Disguising as Camel/Camel Husk now can dash on the ground or underwater
    • Disguising as Nautilus/Zombie Nautilus now can dash underwater
  • backport: Allow server to disable disguise waypoints via config

Bug Fixes

  • Backport a workaround from 1.21.11/feature-next branch, to prevent bad component input from applying and kicking viewing players out of the server
    • But I'm not sure if this issue should be triaged to FeatherMorph though...
  • Fixed a regression where trying to disguise as a player when facing others disguised as another player could copy their properties, ignoring whether the disguise target is the same.
  • Potential error when checking whether the current code is on an Entity's tick thread.
  • Mannequin disguises' description property is now correctly set up when the target mannequin does not have a description
  • Cache for SkinStorage is not being updated after dropping/caching a skin
  • Fixed a regression where disguised players can still get selected as an Interaction Mirror target when using the by_name selector.
  • Fixed a regression where disguised players can't get selected as an Interaction Mirror target if the controlling player is disguised as the same player they disguise.
  • Package Version not saved after initial skill configuration setup

Others

  • Removed usage of feathermorph.disguise_use_real_uuid permission
  • Active disguises will now save to disk when the server shuts down
  • Offline Disguise now saves disguise properties
  • Skin Storage and Offline Disguise Storage are now directory-based.
    • This improves performance a lot when we read/write for a single skin/disguise if there's a large amount of data stored.
    • We will try to migrate previously stored skins; offline disguises will not get migrated, as we don't have a NBT -> Disguise Properties conversion.
  • Mannequins would now be normally selected by Interaction Mirror Executors, instead of being treated as specials.
  • by_sight mirror mode now respects the maximum affect distance set in the config
  • Gradle task runFolia is now available
  • The actionbar message for disguise is now handled by DisguiseState.
  • readRotations from InputHandles now throws an error when the player gives more than 3 elements
    • This means that giving more than 3 elements for various rotation properties for the Armor Stand disguise will now result in an error message.
  • Migrated configuration definition from plugin's own ConfigOption enum to ConfigOption class from PluginBase
  • Simplified exception handling in some places.
  • The message morph.error_while_disguising_user_fault in the language file has been renamed to morph.error_parsing_property.
  • The interval of batching player data requests has been changed from 10 ticks to 2 ticks, to adapt to the new IManagePlayerData#loadPlayerDataAsync method
  • Plugin now checks for Paper or Folia platform for update, depending on the server spec.
  • Offline Disguises is now called Saved Disguises

What's Changed

Full Changelog: https://github.com/NiFeather/FeatherMorph/compare/2.5.2...2.8.0

Файлы

feathermorph-2.8.0-1.21.11-final.jar(1.83 MiB)
Основной
Скачать

Метаданные

Канал релиза

Release

Номер версии

2.8.0

Загрузчики

Folia
Paper

Версии игры

1.21.11

Загрузок

455

Дата публикации

1 нед. назад

Загрузил

ID версии

Главная