概览
minecraft:behavior.avoid_block 是一个实体组件:写在自定义生物的 components 对象中,或其中某个组件组里。 让生物远离特定方块的 AI 目标,比如疣猪兽躲避诡异菌。
字段
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
walk_speed_modifier | number | 1 | 走开时的速度倍率。1.0 为正常速度。 |
sprint_speed_modifier | number | 1 | 疾跑逃离时的速度倍率。1.0 为正常速度。 |
search_range | integer | 0 | 生物在水平方向上寻找要躲避方块的范围(格)。 |
search_height | integer | 0 | 生物在上下方向上寻找要躲避方块的范围(格)。 |
tick_interval | integer | 1 | 每隔多少刻检查一次此目标是否应该开始。 |
target_selection_method | string | "nearest" | 如何选择要躲避的方块,比如最近的那个。 |
on_escape | ActorDefinitionTrigger[] | 无 | 生物逃离方块后触发的事件。 |
target_blocks | Item Descriptor[] | 无 | 此生物会远离的方块。 |
avoid_block_sound | LevelSoundEvent | "undefined" | 躲避方块时播放的声音事件。 |
sound_interval | FloatRange | {"max":8,"min":3} | 两次躲避音效之间的随机等待秒数范围。 |
priority | integer | 0 | 数字越小越先执行:两个目标冲突时,priority 更小的那个胜出。范围:0 到 … |
control_flags | Goal's control flags[] | 无 | 此目标接管哪些身体部分(移动、看向、跳跃),占用相同部分的目标不能同时运行。 |
示例
写在 BP/entities/<name>.json 的 components 对象中(值为默认值或占位值):
BP/entities/<name>.json
{
"minecraft:behavior.avoid_block": {
"walk_speed_modifier": 1,
"sprint_speed_modifier": 1,
"search_range": 0,
"search_height": 0,
"tick_interval": 1,
"target_selection_method": "nearest",
"on_escape": [],
"target_blocks": []
}
}