跳转至

状态效果

状态效果(Status Effect)是Minecraft基岩版中施加于实体上的、具有持续时间和效力等级的临时性增益或减益效果。状态效果可以改变实体的属性、行为或外观,广泛应用于药水、魔咒、信标、命令等多种游戏机制中。

概述

每个状态效果由一个赋命名空间标识符唯一标识,并具有以下核心属性:

  • 持续时间(Duration):效果的剩余有效时间,以刻为单位。到达零时效果自动移除。
  • 效力等级(Amplifier):效果的强度等级,从0开始计数。等级越高,效果越强。
  • 是否显示粒子:是否在实体周围显示状态效果的粒子。
  • 是否为环境效果:是否由信标或潮涌核心等环境来源施加(环境效果的粒子更透明)。

一个实体可以同时拥有多个不同的状态效果。若尝试施加已存在的同一效果,规则为:较高等级覆盖较低等级;相同等级时,较长持续时间覆盖较短持续时间。

效果来源

状态效果可以通过以下途径施加:

  • 药水:饮用药水、投掷喷溅药水或滞留药水。
  • 信标:被激活的信标可以为范围内的玩家施加增益效果。
  • 潮涌核心:在水下为范围内的玩家施加潮涌能量效果。
  • 食物:部分食物在食用后会施加状态效果,如金苹果施加吸收和生命恢复。
  • 命令:通过/effect命令直接施加或移除状态效果。
  • 实体组件:某些实体组件可以在特定条件下施加状态效果。

常见状态效果

以下为基岩版中的部分状态效果:

增益效果

标识符 名称 效果
speed 速度 提高移动速度
haste 急迫 提高挖掘速度和攻击速度
strength 力量 增加近战攻击伤害
jump_boost 跳跃提升 增加跳跃高度
regeneration 生命恢复 随时间回复生命值
resistance 抗性提升 降低受到的伤害
fire_resistance 防火 免疫火焰和岩浆伤害
water_breathing 水下呼吸 在水下不消耗氧气
invisibility 隐身 使实体不可见
night_vision 夜视 提高在黑暗中的可见度
absorption 吸收 提供额外的吸收生命值
saturation 饱和 回复饥饿值和饱和度
conduit_power 潮涌能量 提供水下呼吸、水下夜视和急迫效果

减益效果

标识符 名称 效果
slowness 缓慢 降低移动速度
mining_fatigue 挖掘疲劳 降低挖掘速度
nausea 反胃 使视野扭曲
blindness 失明 大幅缩短视距
hunger 饥饿 加速饥饿值消耗
weakness 虚弱 降低近战攻击伤害
poison 中毒 随时间造成伤害但不致死
wither 凋零 随时间造成伤害且可致死
levitation 飘浮 使实体持续上升
fatal_poison 致命中毒 随时间造成伤害且可致死
darkness 黑暗 使视野周期性变暗

自定义状态效果

在国际版附加包中,目前不支持通过数据驱动方式创建全新的状态效果类型。但可以通过实体组件和事件系统模拟类似行为,或通过脚本API监听和管理已有的状态效果。

中国版自定义状态效果

中国版模组SDK旧版资料曾扩展出一套自定义状态效果机制。该机制允许在行为包的netease_effects/目录中声明新的效果标识符,并为其配置图标名和粒子颜色。资源包侧通常还需要提供对应的状态图标资源。

不过,这种“自定义状态效果”更接近一个可被识别和分发的状态外壳,而不是自动具备完整游戏行为的新原生效果。旧版资料说明,开发者通常仍需要通过中国版脚本接口监听状态添加、移除和刷新事件,再在脚本中写出实际效果逻辑,例如修改重力、移动能力或其他运行时属性。换言之,数据定义主要负责标识、图标和可视化表现,真正的玩法效果仍由脚本补足。

旧版资料还指出,这类中国版自定义状态效果不能直接通过/effect命令获得。维护旧项目时,应将其与国际版原生状态效果区分理解。