2 votes

Comment ferais-je pour qu'un bloc de commande détecte quand un mob spécifique est touché ?

Je suis en train de faire une carte, et j'ai besoin que chaque fois que certains animaux sont touchés, une série d'événements se produira. J'ai essayé de chercher pour voir si je pouvais synthétiser une forme de réponse fonctionnelle mais cela semble me dépasser. Essentiellement ce que je veux c'est une sorte de commande qui détectera le joueur le plus proche de l'animal touché, et ensuite je pourrais utiliser des blocs de commande en chaîne pour mes besoins supplémentaires. Je sais que j'ai besoin d'utiliser un bloc de commande en chaîne, et je sais que cela a quelque chose à voir avec HurtTime, mais je n'arrive juste pas à assembler tout ça.

0 votes

Bienvenue dans l'Arqade! Pouvez-vous fournir quelques exemples de commandes que vous avez essayés sans succès? Ils pourraient nous aider à élaborer une réponse qui fonctionne pour vous!

1voto

ginkgo Points 2439

Normalement, les entités ont un HurtTime de 0s. Vous pouvez le voir en utilisant /data get entity @s HurtTime, en vous utilisant comme exemple. Quand une entité est touchée, son HurtTime est défini à 10s et diminue à chaque tick jusqu'à ce qu'il atteigne à nouveau 0s.

Vous pouvez tester les nbt dans les sélecteurs de cette façon:

execute as @e[nbt={HurtTime:10s}] at @s run particle angry_villager ~ ~2 ~

(Commande répétée à chaque tick)


Vous pouvez étiqueter le joueur le plus proche du mob touché de cette manière:

execute as @e[nbt={HurtTime:10s}] at @s run tag @p add closest_to_mob

(Commande répétée à chaque tick)

0 votes

Les commandes fonctionnent parfaitement, mais j'ai maintenant un autre problème. Le texte que j'ai défini continue simplement d'être envoyé dans le chat indéfiniment. Comment remédier à cela pour que le texte ne soit envoyé qu'une seule fois. De plus, comment définiriez-vous le temps de souffrance pour des mobs spécifiques?

0 votes

Vous pouvez marquer l'entité que vous souhaitez détecter, et utilisez cela dans le sélecteur. Comme ceci: @e[tag=example,nbt={HurtTime:10s}]. En ce qui concerne votre problème de texte répétitif, je ne sais pas comment vous l'avez configuré et je ne peux pas aider.

0 votes

@Sammy n'oublie pas de cocher ou de toucher la case à cocher à côté de cette réponse si elle a répondu à ta question !

AlleGamers.com

AlleGamers est une communauté de gamers qui cherche à élargir la connaissance des jeux vidéo.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X