概览
minecraft:behavior.place_block 是一个实体组件:写在自定义生物的 components 对象中,或其中某个组件组里。 让实体在世界中放置方块,可以是它携带的方块,也可以从带权重的列表中随机选一个。末影人用它放下手中的方块。
字段
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
placeable_carried_blocks | Block Descriptor[] | 无 | 哪些携带的方块可以被放置。留空则允许任何方块。 |
randomly_placeable_blocks | PlaceBlockGoalWeightedBlockDescriptor[] | 无 | 随机放置的带权重方块列表。为空时,实体会改为放置它携带的方块。 |
can_place | Filter Group | {"AND":null,"NOT":null,"OR":null,"all":null,"all_of":null,"any":null,"any_of":null,"none_of":null} | 实体尝试放置方块必须满足的条件。 |
on_place | ActorDefinitionTrigger | {"event":"","filters":{"AND":null,"NOT":null,"OR":null,"all":null,"all_of":null,"any":null,"any_of":null,"none_of":null},"target":"self"} | 放置方块后触发的事件。 |
xz_range | IntRange | {"max":2,"min":-2} | 实体周围可以放置方块的水平范围。 |
y_range | IntRange | {"max":3,"min":0} | 实体周围可以放置方块的上下范围。 |
chance | number | 1 | 实体每刻尝试放置方块的几率。范围:0 到 1 |
affected_by_griefing_rule | boolean | true | 设为 true 时,关闭 mobGriefing 游戏规则后这个目标会停止工作。 |
priority | integer | 0 | 多个目标同时想运行时决定谁优先:数字越小越先运行。范围:0 到 … |
control_flags | Goal's control flags[] | 无 | 列出这个目标要控制的身体部分(比如移动、看向或跳跃),这样需要同一部分的目标就不会同时运行。 |
示例
写在 BP/entities/<name>.json 的 components 对象中(值为默认值或占位值):
BP/entities/<name>.json
{
"minecraft:behavior.place_block": {
"placeable_carried_blocks": [],
"randomly_placeable_blocks": [],
"can_place": {
"AND": null,
"NOT": null,
"OR": null,
"all": null,
"all_of": null,
"any": null,
"any_of": null,
"none_of": null
},
"on_place": {
"event": "",
"filters": {
"AND": null,
"NOT": null,
"OR": null,
"all": null,
"all_of": null,
"any": null,
"any_of": null,
"none_of": null
},
"target": "self"
},
"xz_range": {
"max": 2,
"min": -2
},
"y_range": {
"max": 3,
"min": 0
},
"chance": 1,
"affected_by_griefing_rule": true
}
}