状态效果¶
状态效果(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监听和管理已有的状态效果。