概览
minecraft:kinetic_weapon 是一个物品组件:写在自定义物品的 components 对象中。 让物品像骑枪一样通过冲刺来伤害生物。使用物品期间,它每刻都会沿使用者视线方向的直线进行检测,使用者和目标相向移动得越快,伤害就越高。
字段
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
delay | integer | 0 | 开始使用物品后,要等待多少刻才能造成伤害。 |
reach | FloatRange | {"max":3,"min":0} | 前方多远(以方块为单位)的目标可以被击中。中间有方块会挡住攻击。 |
creative_reach | FloatRange | 无 | 创造模式下的攻击距离。省略时使用 reach。 |
hitbox_margin | number | 0 | 瞄准线周围的额外范围,让稍微偏离中心的目标也能被击中。 |
damage_conditions | minecraft:kinetic_weapon kinetic_effect_conditions | 无 | 造成伤害必须满足的规则(比如最低速度)。没有它就不会造成伤害。 |
knockback_conditions | minecraft:kinetic_weapon kinetic_effect_conditions | 无 | 击退目标必须满足的规则。没有它就不会击退。 |
dismount_conditions | minecraft:kinetic_weapon kinetic_effect_conditions | 无 | 把骑乘者撞下坐骑必须满足的规则。没有它骑乘者会一直留在坐骑上。 |
damage_multiplier | number | 1 | 把基于速度的数值换算成伤害的倍数。越大伤害越高。 |
damage_modifier | number | 0 | 乘以倍数之后再加上的固定伤害值。 |
示例
写在 BP/items/<name>.json 的 components 对象中(值为默认值或占位值):
BP/items/<name>.json
{
"minecraft:kinetic_weapon": {
"delay": 0,
"reach": {
"max": 3,
"min": 0
},
"creative_reach": 1,
"hitbox_margin": 0,
"damage_conditions": {},
"knockback_conditions": {},
"dismount_conditions": {},
"damage_multiplier": 1
}
}