En 1.8.8, la seule façon de faire en sorte qu'un squelette attaque un autre squelette est de manipuler leurs cibles en utilisant des UUIDs personnalisés ( Identificateur unique universel ), ainsi que le ownerName
sur des entités projectiles particulières, à savoir Snowball
y ThrownPotion
.
Sachez que vous devez pas créer des entités multiples avec le mismo UUID, car ils sont censés être uniques. Dans la version 1.8, vous rencontrerez des problèmes de ciblage, tandis que dans la version 1.9, les entités avec des UUIDs dupliqués seront supprimées lors du chargement du chunk.
Cibler
A titre d'exemple, les deux squelettes à invoquer, chacun avec un UUID :
1.8 :
/summon Skeleton ~ ~1 ~ {UUIDLeast:1l,UUIDMost:1l,CustomName:"A",Equipment:[{id:"minecraft:bow"}]}
/summon Skeleton ~ ~1 ~ {UUIDLeast:2l,UUIDMost:2l,CustomName:"B",Equipment:[{id:"minecraft:bow"}]}
1.9 :
/summon Skeleton ~ ~1 ~ {UUIDLeast:1l,UUIDMost:1l,CustomName:"A",HandItems:[{id:"minecraft:bow"}]}
/summon Skeleton ~ ~1 ~ {UUIDLeast:2l,UUIDMost:2l,CustomName:"B",HandItems:[{id:"minecraft:bow"}]}
Lorsqu'un projectile qui utilise le ownerName
frappe un mob, ce mob ciblera l'entité qui a l'UUID spécifié dans cette étiquette. Par exemple, la phrase suivante fera en sorte que le squelette A attaque le squelette B, car elle suppose que le squelette B a lancé la boule de neige :
/execute @e[type=Skeleton,name=A] ~ ~ ~ summon Snowball ~ ~4 ~ {Motion:[0.0,-1.0,0.0],ownerName:"00000000-0000-0002-0000-000000000002"}
Et de même, ce qui suit fait que B attaque A :
/execute @e[type=Skeleton,name=B] ~ ~ ~ summon Snowball ~ ~4 ~ {Motion:[0.0,-1.0,0.0],ownerName:"00000000-0000-0001-0000-000000000001"}
En 1.9, vous pouvez faire en sorte qu'un mob en chevauche un autre, et le "cavalier" prendra le contrôle du mouvement. Cependant, le cavalier est celui qui attaque. Si un zombie chevauche un squelette, le zombie fera en sorte que le squelette se déplace à distance de combat et le zombie lui-même attaquera, ce qui signifie que le combat à distance n'est pas possible avec cette méthode.
À titre d'exemple, ce qui suit fera en sorte que le squelette se déplace à portée d'attaque de mêlée des villageois en 1.9 :
/summon Skeleton ~ ~1 ~ {Passengers:[{id:"Zombie"}]}
Détecter la mort
Aucun sélecteur de cible ne peut cibler les mobs morts ou mourants, pas plus que les types d'objectifs à incrémentation automatique (tels que les deathCount
) piste mobs. Il existe quelques solutions de contournement, dont la plus simple consiste à tester la simple existence du mob et à inverser le signal.
Le suivant testera simplement l'existence du mob, tandis que vous inverserez le signal. Si le mob a été trouvé, le signal sera désactivé. Si le mob meurt, il ne sera plus trouvé et le signal sera allumé :
/testfor @e[type=Skeleton,name=A]
/tellraw @a ["Skeleton A won!"]
/testfor @e[type=Skeleton,name=B]
/tellraw @a ["Skeleton B won!"]
Notez que si vous déchargez le chunk où se trouve le squelette alors que le mécanisme est toujours chargé, le bloc de commande retournera false puisqu'il ne peut pas trouver le squelette.