minecraft:behavior.melee_attack por ti con un interruptor.Get GodCraftResumen
minecraft:behavior.melee_attack es un componente de entidad: va en el objeto components de una criatura personalizada o en uno de sus grupos de componentes. Objetivo de IA que hace que la criatura persiga a su objetivo y lo golpee de cerca. El daño viene del componente minecraft:attack.
Campos
| Campo | Tipo | Predeterminado | Descripción |
|---|---|---|---|
reach_multiplier | number | 2 | Se multiplica por el tamaño de la criatura para saber qué tan cerca debe estar para golpear.Rango: de 0 a … |
on_kill | ActorDefinitionTrigger | {"event":"","filters":{"AND":null,"NOT":null,"OR":null,"all":null,"all_of":null,"any":null,"any_of":null,"none_of":null},"target":"self"} | Evento que se activa cuando esta criatura mata a su objetivo. |
cooldown_time | number | 1 | Segundos de espera entre dos ataques.Rango: de 0 a … |
melee_fov | number | 90 | Campo de visión en grados que se usa para detectar un objetivo al que golpear.Rango: de 0 a … |
x_max_rotation | number | 30 | Máximo de grados que la criatura puede inclinar la cabeza arriba o abajo mientras mira al objetivo.Rango: de 0 a … |
y_max_head_rotation | number | 30 | Máximo de grados que la criatura puede girar la cabeza hacia los lados mientras mira al objetivo.Rango: de 0 a … |
random_stop_interval | integer | 0 | Da una probabilidad de 1 entre N de dejar de atacar, donde N es este número.Rango: de 0 a … |
attack_once | boolean | false | Si es true, la criatura solo hace este ataque una única vez. |
can_spread_on_fire | boolean | false | Si es true, una criatura en llamas y con las manos vacías prende fuego a su objetivo al golpearlo. |
min_path_time | number | 0.2 | Espera mínima en segundos antes de volver a calcular el camino hacia el objetivo.Rango: de 0 a … |
max_path_time | number | 0.55 | Espera máxima en segundos antes de volver a calcular el camino hacia el objetivo.Rango: de 0 a … |
path_fail_time_increase | number | 0.75 | Segundos que se suman a la espera del camino cuando la criatura se atasca.Rango: de 0 a … |
inner_boundary_time_increase | number | 0.25 | Segundos que se suman a la espera del camino cuando el objetivo está más allá de path_inner_boundary.Rango: de 0 a … |
outer_boundary_time_increase | number | 0.5 | Segundos que se suman a la espera del camino cuando el objetivo está más allá de path_outer_boundary.Rango: de 0 a … |
path_inner_boundary | number | 16 | Distancia a partir de la cual se aplica inner_boundary_time_increase.Rango: de 0 a … |
path_outer_boundary | number | 32 | Distancia a partir de la cual se aplica outer_boundary_time_increase.Rango: de 0 a … |
speed_multiplier | number | 1 | Multiplicador de velocidad mientras se mueve hacia el objetivo.Rango: de 0 a … |
require_complete_path | boolean | false | Si es true, la criatura solo persigue cuando existe un camino completo hasta el objetivo. |
track_target | boolean | false | Si es true, la criatura sigue a su objetivo incluso sin un componente de detección. |
attack_types | string | "" | Qué tipos de entidad atacará esta criatura. |
on_attack | ActorDefinitionTrigger | {"event":"","filters":{"AND":null,"NOT":null,"OR":null,"all":null,"all_of":null,"any":null,"any_of":null,"none_of":null},"target":"self"} | Evento que se activa cada vez que un ataque acierta. |
priority | integer | 0 | Los números más bajos se ejecutan primero: si dos objetivos compiten, gana el de prioridad más baja.Rango: de 0 a … |
control_flags | Goal's control flags[] | ninguno | Qué partes del cuerpo controla este objetivo (moverse, mirar, saltar), para que no se ejecuten a la vez objetivos que usan las mismas partes. |
Ejemplo
Dentro del objeto components de BP/entities/<name>.json (los valores son los predeterminados o de ejemplo):
BP/entities/<name>.json
{
"minecraft:behavior.melee_attack": {
"reach_multiplier": 2,
"on_kill": {
"event": "",
"filters": {
"AND": null,
"NOT": null,
"OR": null,
"all": null,
"all_of": null,
"any": null,
"any_of": null,
"none_of": null
},
"target": "self"
},
"cooldown_time": 1,
"melee_fov": 90,
"x_max_rotation": 30,
"y_max_head_rotation": 30,
"random_stop_interval": 0,
"attack_once": false
}
}