Skip to content

自定义状态效果 ​

开发者可以在 addon 的行为包目录下新增 netease_effects/ 文件夹,通过配置 JSON 文件来添加自定义状态效果。自定义状态效果支持设置粒子颜色、图标,并可通过脚本接口或自定义食物触发。该功能不需要开启实验性玩法。

Demo

参考官方示例 CustomEffectsMod 了解自定义状态效果的完整实现。

概述 ​

自定义状态效果允许开发者创建全新的 Buff/Debuff 效果。效果的视觉表现(图标、粒子颜色)通过 JSON 配置,具体的游戏逻辑(如属性修改、伤害计算)通过 ModSDK 脚本实现。

主要特性:

  • 通过 JSON 注册自定义状态效果
  • 支持自定义粒子颜色和效果图标
  • 可通过脚本接口动态添加/移除效果
  • 可通过自定义食物的 effects 字段自动触发
  • 支持效果等级与持续时间配置

待补充:自定义状态效果与原版效果的区别说明。

状态效果 JSON 配置(netease_effects/) ​

在行为包 behavior_pack 目录下新增 netease_effects/ 文件夹,添加自定义状态的 JSON 配置文件。

json
{
  "format_version": "1.10",
  "minecraft:effect": {
    "description": {
      "identifier": "custom_effect:my_effect"
    },
    "components": {
      "minecraft:particle_color": [255, 128, 0],
      "minecraft:icon": "my_effect"
    }
  }
}

字段说明 ​

字段说明
identifier自定义状态的唯一标识符,格式为 命名空间:状态名,必须全小写
minecraft:particle_color玩家身上粒子效果的 RGB 颜色,格式 [R, G, B],取值 0-255
minecraft:icon状态图标名称,对应资源包中的图标文件

注意

identifier 必须全部使用小写字母。如果包含大写字母,在添加到自定义食物中时会失效。

待补充:完整的 JSON 字段参考表。

效果图标 ​

效果图标需要放置在资源包的 resource_pack/textures/ui/ 目录下,文件命名规则为 {icon名称}_effect.png。

例如,当 minecraft:icon 设置为 "weightless" 时,图标文件应命名为 weightless_effect.png。

注意

图标路径和命名必须严格遵守上述规则,否则将不会生效。

待补充:图标尺寸建议与设计规范。

粒子颜色 ​

minecraft:particle_color 使用 RGB 颜色模式,三个整数分别表示红、绿、蓝通道的值(0-255)。添加状态效果后,玩家身上会显示对应颜色的粒子。

待补充:粒子颜色预览与常用颜色值参考。

效果叠加与等级 ​

状态效果支持设置等级(amplifier)和持续时间(duration)。amplifier 的值加 1 即为状态效果等级,例如 amplifier: 4 表示效果等级为 5 级。

待补充:效果叠加规则、等级上限、多效果共存时的处理逻辑。

脚本控制 ​

自定义状态效果可通过 ModSDK 的 effect 组件接口进行动态控制,包括添加效果、移除效果、查询当前效果列表等。

待补充:常用 API 列表与代码示例。

通过自定义食物触发 ​

在自定义食物的 JSON 中配置 effects 字段即可实现食用时自动添加效果:

json
"effects": [
  {
    "name": "custom_effect:my_effect",
    "chance": 1.0,
    "duration": 30,
    "amplifier": 2
  }
]
字段说明
name状态名称,与自定义状态的 identifier 对应
chance获得该状态的概率,取值 0-1
duration状态效果持续时间(秒)
amplifier状态放大倍数,值+1 即为效果等级

待补充:多种效果组合与概率配置示例。

本地化 ​

在语言文件 texts/zh_CN.lang 中可以对自定义状态名称进行本地化:

minecraft:custom_effect=我的自定义效果

待补充:多语言支持说明。

完整示例 ​

待补充:一个从 JSON 注册到脚本控制的完整自定义状态效果示例,包含行为包、资源包与脚本文件的目录结构。

下一步 ​

  • 了解 自定义附魔 以将附魔与状态效果结合
  • 了解 自定义配方 中自定义食物的配置方法
  • 查阅 ModSDK 文档中 effect 组件接口