概览
minecraft:behavior.random_search_and_dig 是一个实体组件:写在自定义生物的 components 对象中,或其中某个组件组里。 让生物挑一个能到达的方块,走过去并从战利品表中挖出一个物品,就像嗅探兽找种子。默认会在泥土、草方块、灰化土、苔藓和泥巴这类方块中挖掘。
字段
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
cooldown_range | FloatRange | {"max":0,"min":0} | 目标再次运行前的随机等待时间(秒)。 |
speed_multiplier | number | 1 | 这个目标运行时让生物加速或减速:1 为正常速度。范围:0 到 … |
find_valid_position_retries | integer | 5 | 生物寻找合适挖掘地点的尝试次数。 |
target_dig_position_offset | number | 2.25 | 挖掘地点在生物脚前多远。 |
search_range_xz | integer | 10 | 搜索挖掘地点的区域的宽度和长度。 |
search_range_y | integer | 7 | 搜索挖掘地点的区域的高度。 |
goal_radius | number | 1.5 | 生物要离挖掘地点多近才算到达。 |
target_blocks | Block Descriptor[] | 无 | 生物可以挖掘的方块。会替换默认列表。 |
digging_duration_range | FloatRange | {"max":10,"min":8} | 挖掘持续多长时间(秒)。 |
item_table | string | "" | 决定挖出什么物品的战利品表路径。 |
spawn_item_after_seconds | number | 0 | 挖掘多少秒后物品出现。范围:0 到 … |
spawn_item_pos_offset | number | 0 | 物品出现在生物前方多远处。范围:0 到 … |
on_searching_start | ActorDefinitionTrigger | {"event":"","filters":{"AND":null,"NOT":null,"OR":null,"all":null,"all_of":null,"any":null,"any_of":null,"none_of":null},"target":"self"} | 生物开始搜索时触发的事件。 |
on_fail_during_searching | ActorDefinitionTrigger | {"event":"","filters":{"AND":null,"NOT":null,"OR":null,"all":null,"all_of":null,"any":null,"any_of":null,"none_of":null},"target":"self"} | 搜索失败时触发的事件。 |
on_digging_start | ActorDefinitionTrigger | {"event":"","filters":{"AND":null,"NOT":null,"OR":null,"all":null,"all_of":null,"any":null,"any_of":null,"none_of":null},"target":"self"} | 生物停止搜索并开始挖掘时触发的事件。 |
on_item_found | ActorDefinitionTrigger | {"event":"","filters":{"AND":null,"NOT":null,"OR":null,"all":null,"all_of":null,"any":null,"any_of":null,"none_of":null},"target":"self"} | 挖出物品时触发的事件。 |
on_fail_during_digging | ActorDefinitionTrigger | {"event":"","filters":{"AND":null,"NOT":null,"OR":null,"all":null,"all_of":null,"any":null,"any_of":null,"none_of":null},"target":"self"} | 挖掘失败时触发的事件。 |
on_success | ActorDefinitionTrigger | {"event":"","filters":{"AND":null,"NOT":null,"OR":null,"all":null,"all_of":null,"any":null,"any_of":null,"none_of":null},"target":"self"} | 搜索和挖掘都完成时触发的事件。 |
priority | integer | 0 | 多个目标同时想运行时决定谁优先:数字越小越先运行。范围:0 到 … |
control_flags | Goal's control flags[] | 无 | 列出这个目标要控制的身体部分(比如移动、看向或跳跃),这样需要同一部分的目标就不会同时运行。 |
示例
写在 BP/entities/<name>.json 的 components 对象中(值为默认值或占位值):
BP/entities/<name>.json
{
"minecraft:behavior.random_search_and_dig": {
"cooldown_range": {
"max": 0,
"min": 0
},
"speed_multiplier": 1,
"find_valid_position_retries": 5,
"target_dig_position_offset": 2.25,
"search_range_xz": 10,
"search_range_y": 7,
"goal_radius": 1.5,
"target_blocks": []
}
}