BBSMC Logo
模组整合包光影资源包软件汉化插件数据包地图
登录
模组插件数据包光影资源包整合包软件汉化地图
登录
设置
FeatherMorph
FeatherMorph

FeatherMorph

又一个伪装插件。伪装成怪物和玩家,然后获得独特的技能和能力!

5,11852 years ago
FeatherMorph

FeatherMorph

又一个伪装插件。伪装成怪物和玩家,然后获得独特的技能和能力!

5,118
5

基本信息

我的世界Java版本

1.21.3–1.21.11
1.21–1.21.1
1.20.6
1.20–1.20.4
1.19.3–1.19.4

平台

Folia
\n \n \n \n \n Paper
\n \n \n \n \n \n \n \n \n \n \n Purpur

运行环境

服务端

其他链接

反馈问题 查看源码
Modrinth

搬运团队

BBSMC 官方搬运(1)
BBSMC 官方搬运(1)团队

搬运资源声明

对于可进行 JAR 文件搬运的许可证,我们提供站内下载服务;其他资源会跳转到原帖下载。资源更新可能不及时,建议前往资源内提供的原帖链接下载最新版本。

详情信息

许可证 MIT
发布于 2024-11-29
更新于 2026-05-03
简介渲染图更新日志版本百科反馈讨论

全部版本

1
2
9

2.8.1

on 2026 May 03
下载

错误修复

  • 已移除 ByNameExecutor 中的调试日志
  • 执行 dash 技能会让同一世界中的所有人都听到激活音效。

完整更新日志: https://github.com/NiFeather/FeatherMorph/compare/2.8.0...2.8.1

2.8.0

on 2026 Mar 30
下载

新功能

  • 现在在进行伪装时会显示当前伪装的图标
  • 带有 feathermorph_nogrant 标签的实体现在在被击杀时,不会再为玩家解锁对应的伪装。
  • 现在可以使用 /fm extract language <lang> 命令导出内置语言文件
    • 此命令所需权限为 feathermorph.admin。
    • 如果磁盘上已经有匹配的文件,导出的文件默认会安装到 messages/<lang>.fmnew.json
    • 你可以使用 /fm extract language <lang> true 进行覆盖。此操作需要你再次执行该命令来确认
  • 现在为人体模型触发 Interaction Mirror 时,玩家需要拥有触发 Interaction Mirror 的权限
  • Instance Network 中的从节点现在会在玩家加入时为其请求数据,而不是由主服务器在启动时加载并将所有数据同步到从节点。
  • 现在可以在 PlayerUnMorphEvent 中获取对应的 DisguiseState 实例。
  • 第三方插件现在可以在引导阶段将它们的 SingleProperty 实例添加到 DisguiseProperties 中,从而支持根据玩家输入自动赋值。
  • 新增对 Zombie Nautilus 变体属性的支持。
  • 现在 DisguiseProperty 的实例可以声明自己对客户端模组不可见
    • FeatherMorph 目前还没有需要此功能的属性;这主要是为其他插件的开发准备的。
  • 为 InputHandles 新增了 readString 方法。
  • 如果异常发生在更新过程中,或已被转发到 DisguiseState,插件现在会尝试显示该异常的消息。
  • 将 Instance Network 中异步加载玩家数据的能力带到了 IManagePlayerData。
    • 目前只有在启用 Instance Network,且当前服务器是网络中的从服务器时,异步加载功能才会被完整利用。
    • 如果支持该功能,当玩家进入配置状态时,插件会尝试异步加载其数据,并为每名玩家最多等待 150ms;超时后仍允许其继续登录,并在数据加载完成后通知其客户端。
      • 最多等待 150ms 是为了确保在性能较好的机器上,玩家登录后立刻就能使用伪装解锁数据。
      • 而且这个等待机制可能会在下一个(编辑:下一个或未来的)版本中移除,因为它从字面意义上就和 async 的概念相冲突…… 🤯\
      • 从服务器现在不再为主服务器响应我们的查询请求最多等待 150ms
  • 为 Nautilus 和 Zombie Nautilus 新增能力
    • 伪装成 Nautilus 现在会让玩家获得水下呼吸能力,并在空气中逐渐干枯
    • 伪装成 Zombie Nautilus 时,如果没有装备头盔,玩家还会在阳光下燃烧。
  • 新增 Dash 技能
    • 伪装成 Camel/Camel Husk 现在可以在地面上或水下冲刺
    • 伪装成 Nautilus/Zombie Nautilus 现在可以在水下冲刺
  • backport:允许服务器通过配置禁用伪装路标点

Bug 修复

  • 从 1.21.11/feature-next 分支回移植了一项变通修复,以防止错误的组件输入被应用并导致正在查看的玩家被踢出服务器
    • 不过我也不确定这个问题是否应该归类到 FeatherMorph……
  • 修复了一个回归问题:当面对其他伪装成另一名玩家的人时,尝试伪装成某个玩家会复制对方的属性,而无视伪装目标是否相同。
  • 修复了检查当前代码是否运行在某个实体的 tick 线程上时可能出现的错误。
  • 现在当目标人体模型没有描述时,人体模型伪装的描述属性也会被正确设置
  • 修复了在丢弃/缓存皮肤后,SkinStorage 的缓存不会更新的问题
  • 修复了一个回归问题:使用 by_name 选择器时,已伪装玩家仍然会被选为 Interaction Mirror 目标。
  • 修复了一个回归问题:如果控制玩家伪装成了与目标相同的玩家,则已伪装玩家无法被选为 Interaction Mirror 目标。
  • 修复了初始技能配置设置后,Package Version 未被保存的问题

其他

  • 移除了 feathermorph.disguise_use_real_uuid 权限的使用
  • 服务器关闭时,当前激活的伪装现在会保存到磁盘
  • Offline Disguise 现在会保存伪装属性
  • Skin Storage 和 Offline Disguise Storage 现在改为基于目录的存储。
    • 这大幅提升了在存储大量数据时对单个皮肤/伪装进行读写的性能。
    • 我们会尝试迁移先前存储的皮肤;而离线伪装不会被迁移,因为我们没有从 NBT -> Disguise Properties 的转换方法。
  • 人体模型现在会被 Interaction Mirror Executors 正常选中,而不再被当作特殊对象处理。
  • by_sight 镜像模式现在会遵守配置中设置的最大影响距离
  • 现在可使用 Gradle 任务 runFolia
  • 伪装的 actionbar 消息现在由 DisguiseState 处理。
  • InputHandles 中的 readRotations 现在会在玩家提供超过 3 个元素时报错
    • 这意味着,对于装备架伪装的各种旋转属性,若提供超过 3 个元素,现在会显示错误消息。
  • 将配置定义从插件自身的 ConfigOption 枚举迁移到了 PluginBase 的 ConfigOption 类
  • 简化了部分位置的异常处理。
  • 语言文件中的消息 morph.error_while_disguising_user_fault 已重命名为 morph.error_parsing_property。
  • 为适配新的 IManagePlayerData#loadPlayerDataAsync 方法,批量处理玩家数据请求的间隔已从 10 tick 改为 2 tick
  • 插件现在会根据服务器规格检查 Paper 或 Folia 平台更新。
  • Offline Disguises 现在改名为 Saved Disguises

变更内容

  • 由 @MATRIX-feather 在 https://github.com/NiFeather/FeatherMorph/pull/61 中将 2.8.0 从 1.21.11/feature 合并

完整更新日志:https://github.com/NiFeather/FeatherMorph/compare/2.5.2...2.8.0

2.8.0-rc.6

on 2026 Mar 25
下载

Bug 修复

  • 初始技能配置设置后,包版本未被保存

完整更新日志: https://github.com/NiFeather/FeatherMorph/compare/2.8.0-rc.5...2.8.0-rc.6

2.8.0-rc.5

on 2026 Mar 08
下载

新功能

  • 向后移植:允许服务器通过配置禁用伪装航点

其他

  • 已将 2.8.0 合并到 1.21.11/main
    • 由 @MATRIX-feather 在 https://github.com/NiFeather/FeatherMorph/pull/61 将来自 1.21.11/feature 的 2.8.0 合并

完整更新日志:https://github.com/NiFeather/FeatherMorph/compare/2.8.0-rc.3...2.8.0-rc.5

2.8.0-rc.3

on 2026 Feb 28
下载

所以我又回来更新这个资源了,因为我仍然希望在即将到来的 26.1 及后续版本中,将它用在我和朋友们一起玩的小型服务器上。😄

问题修复

  • 修复了 SkinStorage 的缓存在丢弃/缓存皮肤后未更新的问题
  • 修复了一个回归问题:当面向其他伪装成其他玩家的玩家时尝试伪装成某玩家,可能会复制对方的属性,而忽略了伪装目标是否相同
  • 修复了一个回归问题:使用 by_name 选择器时,伪装后的玩家仍可能被选为交互镜像的目标
  • 修复了一个回归问题:如果控制玩家伪装成了与目标玩家相同的玩家,则该伪装玩家无法被选为交互镜像的目标

其他

  • 从 1.21.11/feature-next 分支向后移植了一个临时解决方案,以防止错误的组件输入被应用并导致查看玩家被踢出服务器
    • 不确定这个问题是否应该归入 FeatherMorph 的待处理事项……

完整更新日志:https://github.com/NiFeather/FeatherMorph/compare/2.8.0-beta.4...2.8.0-rc.3

2.8.0-rc.1

on 2026 Feb 17
下载

Bug Fix

  • Mannequin disguises' description property is now correctly set up when the target mannequin does not have a description

Other

  • Removed usage of feathermorph.disguise_use_real_uuid permission
  • Active disguises will now save to disk when the server shuts down
  • For slave servers in the instance network, we no longer wait for up to 150ms for the master server to respond to our lookup request
  • 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, especially when 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 convertion exists.
  • Plugin now checks for Paper or Folia platform for update, depending on the server spec.
  • Offline Disguises is now called Saved Disguises

2.8.0-beta.4

on 2025 Dec 20
下载

这是一个基于 1.21.11/feature 的构建。

我们建议所有使用 1.21.11/feature 分支并启用了实例网络功能的用户,在所有从服务器上更新到此版本。

修复内容

  • 实例网络:从服务器在应用来自主服务器的同步数据前未清除现有数据
    • 此问题还可能引发另一个问题,即发送给玩家的字符串命令过大
    • 此问题不影响 1.21.11/main 分支的构建,因为它们不包含部分同步功能
  • 在 Folia 上伪装时有极小概率失败,错误信息为 ... this.revealingHandler is null.

完整更新日志: https://github.com/NiFeather/FeatherMorph/compare/2.8.0-beta.2...2.8.0-beta.4

2.6.0-alpha.4

on 2025 Dec 20
下载

这是基于 1.21.10/feature 的构建。

我们建议使用 1.21.10/feature 分支并启用实例网络功能的所有从服务器更新到此版本。

新功能

  • 假装装备技能已扩展至更多生物

修复内容

  • 实例网络:从服务器在应用来自主服务器的同步数据前未清理现有数据
    • 此问题还可能引发另一个问题,即发送给玩家的字符串命令过大
    • 此问题不影响 1.21.10/main 分支的构建,因为它们不包含部分同步功能

完整变更日志: https://github.com/NiFeather/FeatherMorph/compare/2.6.0-alpha.3...2.6.0-alpha.4

2.8.0-beta.2

on 2025 Dec 17
下载

新增特性

  • 为鹦鹉螺和僵尸鹦鹉螺添加能力
    • 变形为鹦鹉螺现在会使玩家获得水下呼吸效果,并在空气中脱水
    • 变形为僵尸鹦鹉螺还会使玩家在未装备头盔时于阳光下燃烧
  • 添加冲刺技能
    • 变形为骆驼/荒漠骆驼现在可在地面或水下冲刺
    • 变形为鹦鹉螺/僵尸鹦鹉螺现在可在水下冲刺

修复问题

  • 修复了检查当前代码是否运行在实体tick线程时可能发生的错误

完整更新日志: https://github.com/NiFeather/FeatherMorph/compare/2.8.0-alpha.2...2.8.0-beta.2

2.7.1

on 2025 Dec 17
下载

修复

  • 修复了在检查当前代码是否处于实体的tick线程时可能出现的错误。

完整更新日志: https://github.com/NiFeather/FeatherMorph/compare/2.7.0...2.7.1

2.8.0-alpha.2

on 2025 Dec 11
下载

修复内容

  • 修复在控制台中,每当调用伪装文本图标时,调试信息 Text icon for <...> is <...> 会大量刷屏的问题

完整更新日志: https://github.com/NiFeather/FeatherMorph/compare/2.8.0-alpha.1...2.8.0-alpha.2

2.6.0-alpha.3

on 2025 Dec 10
下载

新特性

  • 现在 DisguiseProperty 的实例可以声明其对客户端模组不可见
    • FeatherMorph 目前尚无需要此功能的属性;该功能主要为其他插件开发准备。
  • 为 InputHandles 添加了 readString 方法。
  • 当更新期间发生异常或异常被转发至 DisguiseState 时,插件现在会尝试显示异常消息。
  • 将异步玩家数据加载能力引入 Instance Network 的 IManagePlayerData。
    • 目前仅当启用 Instance Network 且当前服务器为网络中的从属服务器(Slave Server)时,才会完全使用异步加载功能。
    • 若支持,当玩家进入配置状态时,插件将尝试异步加载其数据,并最多等待每名玩家 150 毫秒;超时后允许其继续登录,并在玩家数据加载完成时通知其客户端。
      • 我们设置最多 150 毫秒的等待时间,是为了确保在快速机器上伪装解锁数据能在玩家登录后立即可用。
      • 并且这个等待功能可能在下一个(编辑:下一个或未来的版本)中被移除,因为它实际上与 异步 概念冲突…… 🤯

其他

  • 简化了部分位置的异常处理。
  • 语言文件中的消息 morph.error_while_disguising_user_fault 已重命名为 morph.error_parsing_property。
  • 批量处理玩家数据请求的间隔已从 10 ticks 调整为 2 ticks,以适配新的 IManagePlayerData#loadPlayerDataAsync 方法。

完整更新日志: https://github.com/NiFeather/FeatherMorph/compare/2.6.0-alpha.2...2.6.0-alpha.3

2.8.0-alpha.1

on 2025 Dec 10
下载

这是 1.21.11/feature 分支的一次发布。

新特性

  • [2.7.0] 添加了新的调试命令 /debugForValue,用于列出指定值集合中所有已注册的 SingleValue。
  • 增加对 Zombie Nautilus 变体属性的支持。

其他更新

  • [2.7.0] 现在支持 1.21.11
  • [2.7.0] 将 PacketEvents 升级至 2.11.0
  • [2.7.0] 添加了一项临时解决方案,避免发送数据量过大的数据包。
    • 这可以防止在尝试发送大量可用伪装或伪装数据时抛出异常。
    • 目前尚无彻底解决此问题的方法,因此暂时不进行列表同步。玩家仍可通过 /morph 命令选择伪装,其他功能也依然可用……除非数据仍然超出限制。

完整更新日志: https://github.com/NiFeather/FeatherMorph/compare/2.6.0-alpha.3...2.8.0-alpha.1

2.7.0

on 2025 Dec 10
下载

这是 1.21.11/main 分支的一次发布。有关即将推出的新特性,请参见 https://github.com/NiFeather/FeatherMorph/pull/61

新特性

  • 新增调试指令 /debugForValue,用于列出指定值集合中所有已注册的 SingleValue。

其他

  • 现在支持 1.21.11
  • 升级 PacketEvents 至 2.11.0
  • 添加了一项规避措施:当数据体过大时不再发送数据包。
    • 这可以防止在尝试发送大量可用伪装或庞大伪装数据时抛出异常。
    • 目前尚不清楚如何彻底解决此问题,因此暂不同步该列表。玩家仍可通过 /morph 指令选择伪装,其他功能也依然可用……除非数据仍然超出限制。

完整更新日志: https://github.com/NiFeather/FeatherMorph/compare/2.5.2...2.7.0

2.6.0-alpha.2

on 2025 Dec 04
下载

新特性

  • 现在对模特使用交互镜子也需要玩家拥有正常的交互镜子权限
  • 在新安装的实例中,默认会在快捷栏上方显示当前伪装的图标
  • 击杀带有 feathermorph_nogrant 标签的生物将不再为玩家解锁相关伪装
  • 重构了插件向玩家发送消息的方式
  • 现在可以使用 /fm extract language <lang> 命令提取内置语言文件
    • 该命令的权限为 feathermorph.admin。
    • 如果磁盘上已存在匹配的文件,默认会将提取的文件安装到 messages/<lang>.fmnew.json
    • 您可以通过使用 /fm extract language <lang> true 来覆盖原文件,此操作需要再次执行以确认
  • 实例网络中的从机现在在玩家加入时请求玩家数据,而不是主服务器在启动时加载并将所有数据同步到从机
  • 现在可以在 PlayerUnMorphEvent 中获取相关的 DisguiseState 实例
  • 第三方插件现在能够在启动时将其 SingleProperty 实例添加到 DisguiseProperties,从而允许从玩家输入中自动分配

其他

  • 模特现在会被交互镜子执行者正常选择,而不再被视为特殊对象
  • by_sight 镜子模式现在会遵守配置文件中设置的最大影响距离
  • Gradle 任务 runFolia 现已可用
  • 伪装的快捷栏上方消息现在由 DisguiseState 处理
  • InputHandles 中的 readRotations 在玩家提供超过 3 个元素时会抛出错误
    • 这意味着为盔甲架伪装的各种旋转属性提供超过 3 个元素时将导致错误消息
  • 配置定义已从插件自身的 ConfigOption 枚举迁移到 PluginBase 的 ConfigOption 类

完整更新日志: https://github.com/NiFeather/FeatherMorph/compare/2.5.2...2.6.0-alpha.2

2.5.2

on 2025 Dec 04
下载

这是 2.5 系列的一个维护版本。有关即将推出的新功能,请参见 2.6 alpha:https://github.com/NiFeather/FeatherMorph/pull/59

错误修复

  • 附加击退能力在 Y 轴运动变化时始终增加 0.345584025,且不会对 X 和 Z 轴运动变化应用击退抗性。
  • 当绑定的玩家退出时,伪装信标点未被移除的问题。
  • 使 MorphBasicAvoidPlayerGoal 在需要回避的玩家处于不同世界时忽略执行。
    • 此更改修复了在某些异常情况下 AI 抛出错误的问题。

其他

  • 处理 MIC2SLoginCommand 中无效的协议层级

完整更新日志:https://github.com/NiFeather/FeatherMorph/compare/2.5.1...2.5.2

2.5.1

on 2025 Nov 27
下载

从2025/11/3(YYYY/MM/DD)起,我们将1.21.10分支拆分为1.21.10/main和1.21.10/feature。

如果您在此之前克隆了仓库,请在拉取更新前删除本地存储的1.21.10分支!


2.5.1 版本变更

错误修复

  • entity/equipment 输入为空时会导致未处理的异常

2.5.0 版本变更

新功能

  • 现在玩家可以保存他们的伪装,并应用本地存储的伪装
    • 这要求玩家使用客户端模组 0.16.0-beta.5 或更高版本!
  • 为 entity/custom_name、mannequin/description 和 mannequin/hide_description 属性添加权限 feathermorph.custom_text,默认对玩家开放
  • 添加用于使用伪装属性的权限:feathermorph.disguise_properties.use
  • 添加用于为 entity/equipment 属性中的物品设置自定义皮肤配置文件的权限,默认仅限管理员:feathermorph.disguise_properties.custom_skin_on_items
  • 添加对 模特 伪装的支持
    • 默认情况下,无法使用 魔法瓶 收集 模特 伪装
    • 模特 伪装具有与盔甲架和玩家伪装相同的 仿制装备 技能
    • mannequin/skin 属性默认仅限管理员使用。您可为玩家授予 feathermorph.custom_skin 权限以启用该功能
  • 添加对 铜傀儡 伪装的支持
    • 默认情况下,可使用 魔法瓶 收集 铜傀儡 伪装
    • 为铜傀儡伪装添加天气状态属性
  • 初步兼容(?) Ping Wheel
    • 使用官方 Ping Wheel 插件 可以正常工作,但在伪装状态下标记不会隐藏标记者身份
    • ……因此我制作了一个自定义插件来临时解决此问题,可在 https://github.com/MATRIX-feather/pingwheel-plugin-forked 找到
  • 初步支持拥有 feathermorph.mirror.mannequin 权限的玩家将其潜行动作同步至与其伪装同名且描述相同的模特
    • 对于 BY_NAME 执行器,会选择范围内的模特,将影响距离设为 -1 可禁用范围限制
    • 对于 BY_SIGHT 和 BY_RANGE,将在视线5格范围内选择目标模特

错误修复

  • 当授予 feathermorph.disguise_use_real_uuid 权限时,玩家伪装存在多个问题
    • 取消伪装时玩家会从TAB列表中消失
    • 从远处传送或从旁观模式切换游戏模式时伪装不显示
  • slime_magma/size 属性的随机范围错误
  • 覆盖方法中无人调用 BaseLivingEntityProperties#setupPropertiesFromEntity
    • 导致具有额外属性的伪装无法复制目标实体的自定义名称

其他

  • 我们计划未来移除 BY_RANGE 镜像执行器,因其在网络状况不佳的玩家中引发混乱
  • 现在部分抛出的异常将转发至 DisguiseState 并导致玩家取消伪装
  • 调整了服务器渲染器重建从服务器发送的实体元数据包的方式
  • 移除了伪装 NBT 黑名单配置
    • 因其已不再使用
  • entity/custom_name 和 mannequin/description 现在接受以 { 开头的 JSON 文本组件
  • 将部分伪装验证移至伪装准备早期阶段

2.5.0-rc.5

on 2025 Nov 12
下载

从2025/11/3(YYYY/MM/DD)开始,我们将1.21.10分支拆分为1.21.10/main和1.21.10/feature。

如果您在此之前已克隆了仓库,请在拉取更新前删除本地存储的1.21.10分支!


修复内容

  • 为ResolvableProfile添加了SkinPatch支持,修复了部分皮肤设置在客户端无法正确显示的问题。
  • 明确声明MorphResolvableProfileStruct是否正在呈现动态的ResolvableProfile,修复了部分皮肤在客户端无法显示的问题。
    • 上述两项修复要求玩家将客户端模组更新至0.16.0-beta.6!
  • entity/custom_name现在始终从目标实体复制,不再忽略实体类型
  • 在覆写方法中无人调用BaseLivingEntityProperties#setupPropertiesFromEntity
    • 这导致具有额外属性的伪装形态无法复制目标实体的自定义名称。

完整更新日志:https://github.com/NiFeather/FeatherMorph/compare/2.5.0-rc.4...2.5.0-rc.5

2.4.6

on 2025 Nov 05
下载

从 2025/11/3(YYYY/MM/DD)起,我们将 1.21.10 分支拆分为 1.21.10/main 和 1.21.10/feature。

如果你在此日期前已克隆过仓库,请在拉取更新前删除本地存储的 1.21.10 分支!

修复

  • 修复了当玩家语言环境为 "en_US" 而非 "en_us" 时导致的堆栈溢出(StackOverflow)问题

完整变更日志: https://github.com/NiFeather/FeatherMorph/compare/2.4.5...2.4.6

2.5.0-rc.3

on 2025 Nov 05
下载

修复

  • 在之前的 2.5.0 beta 版本中,伪装有时会报告无法更新,并可能导致附近玩家因协议错误而断开连接

其他

  • 捕获解析客户端 entity/equipment 输入时的 JSON 错误,并将其包装为 ParseErrorException,以告知玩家数据格式不正确

完整更新日志: https://github.com/NiFeather/FeatherMorph/compare/2.5.0-rc.2...2.5.0-rc.3

1
2
9
BBSMC Logo

中国最活跃的 Minecraft 中文资源社区

QQ 群:1078515449

资源

模组整合包光影资源包地图

社区

汉化软件插件数据包

帮助

服务条款隐私政策社区规则开源代码
设置

"Minecraft"以及"我的世界"为美国微软公司的商标,本站与微软公司没有从属关系。 本站与 Modrinth 无从属关系,网站遵循 LGPL 协议开源。

© 2019-2026 青岛柒兮网络科技有限公司 | 鲁B2-20210590 | 鲁ICP备2021009459号-12 | 公安备案 鲁公网安备37021002001586号