概览
minecraft:behavior.lay_egg 是一个实体组件:写在自定义生物的 components 对象中,或其中某个组件组里。 让怀孕的生物在合适方块上放置蛋方块的 AI 目标,比如海龟在沙子上产卵。
字段
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
target_blocks | string[] | ["minecraft:sand"] | 可以放蛋的方块。 |
target_materials_above_block | string[] | ["air"] | 目标方块上方可以是什么:Air、Water 或 Lava。 |
allow_laying_from_below | boolean | false | 为 true 时,够不到顶部的生物可以从下方产卵,适合青蛙在水面产卵。 |
use_default_animation | boolean | true | 为 true 时,播放内置的产卵动画。 |
lay_seconds | number | 10 | 产卵需要的秒数。范围:0 到 … |
egg_type | string | "minecraft:turtle_egg" | 放置的蛋方块。海龟蛋的数量是随机的。 |
lay_egg_sound | LevelSoundEvent | "lay_egg" | 产卵时播放的声音事件。 |
on_lay | ActorDefinitionTrigger | {"event":"","filters":{"AND":null,"NOT":null,"OR":null,"all":null,"all_of":null,"any":null,"any_of":null,"none_of":null},"target":"self"} | 蛋产下后触发的事件。 |
search_range | integer | 0 | 生物在水平方向上寻找产卵地点的范围(格)。 |
search_height | integer | 1 | 生物在上下方向上寻找产卵地点的范围(格)。 |
goal_radius | number | 0.5 | 生物需要靠近到多近才算到达。 |
speed_multiplier | number | 1 | 走向该位置时的速度倍率。范围:0 到 … |
priority | integer | 0 | 数字越小越先执行:两个目标冲突时,priority 更小的那个胜出。范围:0 到 … |
control_flags | Goal's control flags[] | 无 | 此目标接管哪些身体部分(移动、看向、跳跃),占用相同部分的目标不能同时运行。 |
示例
写在 BP/entities/<name>.json 的 components 对象中(值为默认值或占位值):
BP/entities/<name>.json
{
"minecraft:behavior.lay_egg": {
"target_blocks": [
"minecraft:sand"
],
"target_materials_above_block": [
"air"
],
"allow_laying_from_below": false,
"use_default_animation": true,
"lay_seconds": 10,
"egg_type": "minecraft:turtle_egg",
"lay_egg_sound": "lay_egg",
"on_lay": {
"event": "",
"filters": {
"AND": null,
"NOT": null,
"OR": null,
"all": null,
"all_of": null,
"any": null,
"any_of": null,
"none_of": null
},
"target": "self"
}
}
}