minecraft:behavior.delayed_attack pour toi avec un simple interrupteur.Get GodCraftVue d'ensemble
minecraft:behavior.delayed_attack est un composant d'entité : il se place dans l'objet components d'une créature personnalisée, ou dans l'un de ses groupes de composants. Objectif d'IA au corps à corps où les dégâts tombent en plein milieu de l'animation d'attaque plutôt que tout de suite, comme la morsure d'un ravageur.
Champs
| Champ | Type | Par défaut | Description |
|---|---|---|---|
attack_duration | number | 0.75 | Secondes que dure l'animation d'attaque. Cela fixe aussi l'attente entre deux attaques.Plage : de 0 à … |
hit_delay_pct | number | 0.5 | À quel moment de l'animation les dégâts tombent. 0.5 signifie à la moitié.Plage : de 0 à 1 |
sound_event | LevelSoundEvent | "attack.strong" | Événement sonore joué au début de l'attaque. |
reach_multiplier | number | 1.5 | Multiplié par la taille de la créature pour obtenir la distance à laquelle elle peut frapper.Plage : de 0 à … |
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"} | Événement déclenché quand cette créature tue sa cible. |
melee_fov | number | 90 | Champ de vision en degrés utilisé pour repérer une cible à frapper.Plage : de 0 à … |
x_max_rotation | number | 30 | Nombre maximal de degrés dont la créature peut lever ou baisser la tête en regardant la cible.Plage : de 0 à … |
y_max_head_rotation | number | 30 | Nombre maximal de degrés dont la créature peut tourner la tête sur le côté en regardant la cible.Plage : de 0 à … |
random_stop_interval | integer | 0 | Donne 1 chance sur N d'arrêter d'attaquer, où N est ce nombre.Plage : de 0 à … |
attack_once | boolean | false | Si true, la créature ne fait cette attaque qu'une seule fois. |
can_spread_on_fire | boolean | false | Si true, une créature en feu aux mains vides enflamme sa cible en la frappant. |
min_path_time | number | 0.2 | Attente minimale en secondes avant de recalculer le chemin vers la cible.Plage : de 0 à … |
max_path_time | number | 0.55 | Attente maximale en secondes avant de recalculer le chemin vers la cible.Plage : de 0 à … |
path_fail_time_increase | number | 0.75 | Secondes ajoutées à l'attente du chemin quand la créature est bloquée.Plage : de 0 à … |
inner_boundary_time_increase | number | 0.25 | Secondes ajoutées à l'attente du chemin quand la cible est au-delà de path_inner_boundary.Plage : de 0 à … |
outer_boundary_time_increase | number | 0.5 | Secondes ajoutées à l'attente du chemin quand la cible est au-delà de path_outer_boundary.Plage : de 0 à … |
path_inner_boundary | number | 16 | Distance au-delà de laquelle inner_boundary_time_increase s'applique.Plage : de 0 à … |
path_outer_boundary | number | 32 | Distance au-delà de laquelle outer_boundary_time_increase s'applique.Plage : de 0 à … |
speed_multiplier | number | 1 | Multiplicateur de vitesse en avançant vers la cible.Plage : de 0 à … |
require_complete_path | boolean | false | Si true, la créature ne poursuit que s'il existe un chemin complet jusqu'à la cible. |
track_target | boolean | true | Si true, la créature continue de suivre sa cible même sans composant de détection. |
attack_types | string | "" | Les types d'entités que cette créature attaque. |
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"} | Événement déclenché à chaque attaque réussie. |
priority | integer | 0 | Plus le nombre est petit, plus l'objectif passe en premier : quand deux objectifs sont en concurrence, celui qui a la plus petite priorité gagne.Plage : de 0 à … |
control_flags | Goal's control flags[] | aucune | Les parties du corps que cet objectif contrôle (move, look, jump) : deux objectifs qui utilisent les mêmes parties ne peuvent pas tourner en même temps. |
Exemple
Dans l'objet components de BP/entities/<name>.json (les valeurs sont celles par défaut ou des exemples) :
BP/entities/<name>.json
{
"minecraft:behavior.delayed_attack": {
"attack_duration": 0.75,
"hit_delay_pct": 0.5,
"sound_event": "attack.strong",
"reach_multiplier": 1.5,
"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"
},
"melee_fov": 90,
"x_max_rotation": 30,
"y_max_head_rotation": 30
}
}