2.1.0.beta3
on 2025 May 12可能无法正常工作的情况:跨服务器数据同步(实例服务)
从2.0.0版本开始,FeatherMorph将需要PacketEvents 2.8.0或更高版本来启用服务器渲染器!你可以在这里下载
新特性
- 新增了可用于从其他玩家或友好生物收集伪装的魔法瓶
- 没错,它实际上就叫魔法瓶
- 可以使用红石和玻璃瓶合成,潜行并与实体互动来进行收集
- 关于合成方式配置,请查看recipe.yml
- 新增了实验性的交互镜像控制器
BY_RANGE- **注意!**如果玩家安装了客户端集成,我们建议使用最新的1.21.5版本(≥ 0.11.2),否则可能会出现一些奇怪的情况...
- 一旦启用,交互将镜像到目标以及附近伪装成目标的玩家
- 如果玩家未伪装,交互仍将镜像到附近伪装成该玩家的玩家
漏洞修复
- 当玩家加入服务器时会抛出
无法注册频道。已注册的频道过多!的错误(#37) - 在完成命令时控制台会记录
此命令目前仅对玩家可用。
其他
- 现在当玩家解锁伪装时,我们会在玩家附近生成粒子
- 为新插件安装添加了伪装工具和魔法瓶的模组/资源包国际化支持
- 如果您希望在现有安装中使用此功能,请删除/移走旧的合成方式配置(
recipe.yml),让插件生成一个新的,这样应该就可以正常使用了!
- 如果您希望在现有安装中使用此功能,请删除/移走旧的合成方式配置(
2.1.0.beta2
on 2025 May 12从2.0.0版本开始,FeatherMorph将需要PacketEvents 2.8.0或更高版本来启用服务器渲染器!你可以在此处下载
新特性
- 实现模组协议V3
- 同时仍支持V2(1.21.3 ~ 1.21.4)和V1(1.21.3-)版本
- 为唤魔者技能添加了激进动画
漏洞修复
- 唤魔者技能的漏洞修复
- 修复了尖牙不在台阶上生成或在错误位置生成的问题
- 尖牙不再受玩家视角俯仰角的影响
- 在2.1.0.beta1之后,玩家可以通过重新加入服务器来重置他们的生物显示状态
- 允许为非生物实体激活快速伪装
其他
- 调整了唤魔者技能
- 插件现在将尝试让被召唤的恼鬼保持在召唤者附近
- 被召唤的恼鬼现在将尝试尽快攻击目标
- 当服务器难度不是和平难度时,玩家现在可以通过潜行随时召唤恼鬼
- 玩家现在一次最多只能召唤6只恼鬼
- 一旦召唤者解除伪装,被召唤的恼鬼现在将被清除
- 移除了玩家列表修改功能
- 调整了攻击动画的触发条件
2.1.0.beta1
on 2025 Apr 25从2.0.0版本开始,FeatherMorph将需要PacketEvents 2.8.0或更高版本来启用服务器渲染器!你可以在这里下载
新特性
- 增加了对猪、牛和鸡变种的支持
漏洞修复
- 再次尝试修复更新处理器
其他
- 从ProtocolLib迁移到PacketEvents
- 所以现在FeatherMorph需要PacketEvents 2.8.0或更高版本才能使用服务器渲染器
- 但他们还没有发布2.8.0版本,所以这里有测试版构建
- 移除了对ModelEngine的支持
- 调整了生物显示的行为
- 插件现在将尝试过滤玩家的属性数据包,以防止客户端上的日志刷屏
- 通过命令检查更新现在将显示更多的检查状态,而不仅仅是通知有新更新/已经是最新版本
一次热修复发布,用于修复一些客户端集成问题。
注意! 1.5.8版本现在需要最新的Paper版本,你可以在https://papermc.io/downloads/paper下载。
漏洞修复
- 1.21.1版本的FMC客户端无法激活客户端集成。
- 插件在关闭时会抛出“插件必须启用才能发送消息”的错误。
其他
- 在Paper的最新版本上无法使用客户端集成。
本次发布回溯移植了来自1.21.4分支的一些改动。
新特性
- 添加了实验性的FeatherMorphAPI
- 目前,我们仅有一些工具,以及一个FeatherMorphDirectAccess,用于允许人们访问插件的内部组件……
- 添加了新的Towny集成命令“town_morph_flags”,可用于设置关于变形的城镇设置。
- 注意!这取代了原有的“toggle-town-morph-flight”命令及其设置,并且现在居民和受信任的玩家在城镇中始终可以飞行。
- 目前,有两个可调整的标志:
- “allow_outsiders_flight”:是否允许外来者在城镇中飞行。
- “allow_outsiders_use_skill”:是否允许外来者在城镇中激活技能。
- 目前能力不受这些标志控制,但将来会受其控制。
漏洞修复
- 一些管理命令无法正确使用输入ID过滤伪装。
- 运行时禁用客户端集成会导致所有使用FMC的1.21.4版本玩家断开连接。
- 有时插件无法正确处理新玩家的数据,并抛出“java.lang.IllegalStateException”异常。
- 在Folia的近期版本中,“HealsFromEntityAbility”会抛出“从多个线程访问LegacyRandomSource”的异常。
- 玩家从一种伪装切换到另一种伪装时,最大生命值不会缩放。
- 当玩家带着伪装重新加入服务器时,管理员的客户端集成无法察觉。
其他
- 更新PluginBase
- 尝试修补一个可能的内存泄漏问题。
- 当Headmorph被禁用时,尝试激活此功能将不再收到其已被禁用的反馈。
- 调整了交互镜像的实现方式。
- 一些小幅性能优化。
- 当执行“躺下”动作时,插件现在将尝试使伪装的朝向与床的朝向保持一致。
新特性
- 新增了城镇(Towny)集成命令
town_morph_flags,可用于设置有关变形的城镇设置。- 注意!这会替换原有的
toggle-town-morph-flight命令及其设置,并且现在居民和受信任的玩家在城镇中始终可以飞行。 - 目前,有两个可调整的标识(flags):
allow_outsiders_flight:是否允许外来者在城镇中飞行。allow_outsiders_use_skill:是否允许外来者在城镇中激活技能。
- 目前能力不受这些标识控制,但将来会受其控制。
- 注意!这会替换原有的
其他
- 一些小的性能优化。
- 当执行“躺下”动作时,插件现在会尝试让伪装的朝向与床的朝向保持一致。
API
- API版本现已提升至 2。
- 将 SkillType 和 AbilityType 移至API,并将它们重命名为 SkillNames 和 AbilityNames。
新特性
- 该插件现在会尝试避免玩家坐在伪装成“苦力怕”的其他玩家身上。
漏洞修复
- 当玩家从一种伪装切换到另一种伪装时,玩家的最大生命值不再出现缩放问题。
- 当玩家伪装后重新加入服务器时,管理员的客户端集成无法感知到这一情况的问题已修复。
其他
- “监守者”的“向下挖掘”动作不再会使玩家消失,取而代之的是玩家只会变得隐形。
API
FeatherMorphDirectAccess#请求管理器现在将返回IManageRequests(管理请求接口),而不是RequestManager(请求管理器类)。- 修复了调用
FeatherMorphDirectAccess#请求管理器会抛出空依赖异常的问题。- 有人使用了错误的类型
- 添加了
APIMeta(API元数据),可用于查找一些API元数据。- 目前仅能查询API版本。
- 添加了
UtilitiesAlpha#从玩家查找伪装UUID和UtilitiesAlpha#是否为服务器后端。- 如果服务器正在运行服务器后端,
从玩家查找伪装UUID可用于查找某人伪装的虚拟实体UUID。 - ……并且
是否为服务器后端可用于检查服务器是否正在运行服务器后端。
- 如果服务器正在运行服务器后端,
注意!
对旧版权限节点的支持现已结束!
请确保在更新之前将所有相关权限移动到新前缀feathermorph.XXX!
新功能
- 添加了指定伪装属性(变体)的初步支持
- 目前仅通过伪装命令!
- 使用方法:
/morph <id> <properties>- 例如,伪装为带有手臂的盔甲架:
/morph minecraft:armor_stand [armor_stand_show_arms=true] - 对于多个属性:
/morph foo:bar [property1=value1, property2=value2,...]
- 例如,伪装为带有手臂的盔甲架:
- 现在可以通过配置指定禁用伪装功能的世界
config.yml > world_option > disabled_worlds
- 凋零骷髅伪装现在可以使玩家免疫凋零效果
- 添加了新的占位符
feathermorph_state_provider_is?<namespace>,以识别玩家伪装的类别(命名空间)- 例如,要识别玩家是否使用玩家伪装:
feathermorph_state_provider_is?player - 要识别玩家是否伪装为生物:
feathermorph_state_provider_is?minecraft
- 例如,要识别玩家是否使用玩家伪装:
- 添加了新的占位符
feathermorph_state_id_is?<id>,以识别玩家是否使用特定的伪装。- 例如,要识别玩家是否伪装为 Creaking:
feathermorph_state_id_is?minecraft:creaking
- 例如,要识别玩家是否伪装为 Creaking:
错误修复
- 玩家断开连接后客户端会话未被清除
/papi reload后占位符扩展不再可用- 插件不会下载与当前运行版本匹配的 Minecraft 语言文件
- Towny 集成在将玩家添加到城镇时尝试处理离线玩家
其他
- 我们现在是一个纯 Paper 插件!
- 这意味着 Spigot 服务器不再能够加载此插件
- 对旧版权限节点(
xiamomc.morph.XXX)的支持未被弃用!请迁移到新的权限节点(feathermorph.XXX)!- 例如,
xiamomc.morph.chat_override现在是feathermorph.chat_override
- 例如,
- 将占位符名称从
morph_...更改为feathermorph_... - 更改了 FeatherMorph 与客户端模组的通信方式
- 调整了占位符扩展的行为
- 如果参数无效或玩家未伪装,现在将返回更具体的反馈
- 玩家伪装不再具有自定义名称元数据
- 我们现在使用 Brigadier 注册命令
注意!
对旧版权限节点的支持现已结束!
请确保在更新之前将所有相关权限移至新前缀feathermorph.XXX!
新功能
- 添加了对指定伪装属性(变体)的初始支持
- 目前仅通过伪装命令!
- 使用方法:
/morph <id> <properties>- 例如,伪装为带有手臂的盔甲架:
/morph minecraft:armor_stand [armor_stand_show_arms=true] - 对于多个属性:
/morph foo:bar [property1=value1, property2=value2,...]
- 例如,伪装为带有手臂的盔甲架:
- 现在可以通过配置指定禁用伪装功能的世界
config.yml > world_option > disabled_worlds
- 玩家现在可以通过打破一个自然且活跃的 Creaking 之心来解锁 Creaking 伪装
- 为 Creaking 伪装添加了两个动作
- 劫掠者现在将尝试避免伪装为 Creaking 的玩家
- 凋零骷髅伪装现在可以使玩家免疫凋零效果
- 添加了新的占位符
feathermorph_state_provider_is?<namespace>,用于识别玩家伪装的类别(命名空间)- 例如,要识别玩家是否使用玩家伪装:
feathermorph_state_provider_is?player - 要识别玩家是否伪装为生物:
feathermorph_state_provider_is?minecraft
- 例如,要识别玩家是否使用玩家伪装:
- 添加了新的占位符
feathermorph_state_id_is?<id>,用于识别玩家是否使用特定伪装。- 例如,要识别玩家是否伪装为 Creaking:
feathermorph_state_id_is?minecraft:creaking
- 例如,要识别玩家是否伪装为 Creaking:
错误修复
- 玩家断开连接后客户端会话未被清除
/papi reload后占位符扩展不再可用- 插件未下载与当前运行版本匹配的 Minecraft 语言文件
- Towny 集成在将玩家添加到城镇时尝试处理离线玩家
其他
- 我们现在是一个纯 Paper 插件!
- 这意味着 Spigot 服务器不再能够加载此插件
- 对旧版权限节点(
xiamomc.morph.XXX)的支持未被弃用!请移至新的权限节点(feathermorph.XXX)!- 例如,
xiamomc.morph.chat_override现在是feathermorph.chat_override
- 例如,
- 将占位符名称从
morph_...更改为feathermorph_... - 更改了 FeatherMorph 与客户端模组的通信方式
- 调整了占位符扩展的行为
- 如果参数无效或玩家未伪装,现在将返回更具体的反馈
- 玩家伪装不再具有自定义名称元数据
- 我们现在使用 Brigadier 注册命令
注意!
对旧版权限节点的支持现已结束!
请确保在更新之前将所有相关权限移至新前缀feathermorph.XXX!
新功能
- 现在可以通过配置指定禁用伪装功能的世界
config.yml > world_option > disabled_worlds
错误修复
- 在
/papi reload之后,占位符扩展不再可用 - 迁移到布里杰之后,一些选项不再可通过
/fm option命令进行调整
其他
- 对旧版权限节点(
xiamomc.morph.XXX)的支持未被弃用!请移至新的权限节点(feathermorph.XXX)!- 例如,
xiamomc.morph.chat_override现在是feathermorph.chat_override
- 例如,
- 调整了占位符扩展的行为
- 如果参数无效或玩家未伪装,则现在返回更具体的反馈
新功能
- 添加了对指定伪装属性(变体)的初始支持
- 目前仅通过伪装命令!
- 使用方法:
/morph <id> <properties>- 例如,伪装为带有手臂的盔甲架:
/morph minecraft:armor_stand [armor_stand_show_arms=true] - 对于多个属性:
/morph foo:bar [property1=value1, property2=value2,...]
- 例如,伪装为带有手臂的盔甲架:
错误修复
- 在初始化伪装工具的配方时会发生无法获取遗留材料的键的情况
- 在运行最新版本的 Paper 时,打开 GUI 会导致服务器崩溃
其他
- 我们现在是一个纯 Paper 插件!
- 这意味着 Spigot 服务器不再能够加载此插件
- 在
/fm manage下的所有子命令现在都接受实体选择器(@a,@p等) - 可以再次不带参数运行
/fm reload(并且它会像以前一样重新加载配置和语言)


