概览
minecraft:behavior.work 是一个实体组件:写在自定义生物的 components 对象中,或其中某个组件组里。 让村民在白天走到自己的工作站点方块,在那里工作一段时间。
字段
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
sound_delay_min | integer | 0 | 两次工作音效之间的最短等待时间。范围:0 到 … |
sound_delay_max | integer | 0 | 两次工作音效之间的最长等待时间。范围:0 到 … |
goal_cooldown | integer | 0 | 目标可以再次使用前的刻数。范围:0 到 … |
active_time | integer | 0 | 生物在工作地点停留的刻数。范围:0 到 … |
can_work_in_rain | boolean | false | 设为 true 时,即使工作站点下雨,生物也会继续工作。 |
work_in_rain_tolerance | integer | -1 | 当 can_work_in_rain 为 false 时:如果目标剩余的刻数少于这个值,下雨也不会让它停下。范围:0 到 … |
on_arrival | ActorDefinitionTrigger | {"event":"","filters":{"AND":null,"NOT":null,"OR":null,"all":null,"all_of":null,"any":null,"any_of":null,"none_of":null},"target":"self"} | 生物到达工作站点时触发的事件。 |
speed_multiplier | number | 0.5 | 这个目标运行时让生物加速或减速:1 为正常速度。 |
priority | integer | 0 | 多个目标同时想运行时决定谁优先:数字越小越先运行。范围:0 到 … |
control_flags | Goal's control flags[] | 无 | 列出这个目标要控制的身体部分(比如移动、看向或跳跃),这样需要同一部分的目标就不会同时运行。 |
示例
写在 BP/entities/<name>.json 的 components 对象中(值为默认值或占位值):
BP/entities/<name>.json
{
"minecraft:behavior.work": {
"sound_delay_min": 0,
"sound_delay_max": 0,
"goal_cooldown": 0,
"active_time": 0,
"can_work_in_rain": false,
"work_in_rain_tolerance": -1,
"on_arrival": {
"event": "",
"filters": {
"AND": null,
"NOT": null,
"OR": null,
"all": null,
"all_of": null,
"any": null,
"any_of": null,
"none_of": null
},
"target": "self"
},
"speed_multiplier": 0.5
}
}