Je suppose que vous avez ceci dans un bloc de commande répétitif. Lorsqu'il est exécuté de cette façon, s'il n'y a actuellement aucun joueur mort, l'"erreur" que le bloc de commande produira est la suivante :
L'entité '@p[score_health_min=0,score_health=0]' est introuvable.
Cela fonctionne correctement. Vos commandes fonctionnent correctement en l'état, il n'y a aucun problème avec elles. Le seul cas où le résultat serait différent est si vous cliquez sur le bloc de commande alors qu'un joueur est mort et n'a pas encore réapparu.
J'ai cependant quelques suggestions :
- À moins que vous ne fassiez quelque chose de très spécifique nécessitant de cibler uniquement le joueur le plus proche, utilisez l'option
@a
au lieu de @p
car cela lui permettra d'être multijoueur.
- Étant donné que vous testez un nombre égal ou inférieur à 0, vous n'avez pas besoin d'utiliser l'attribut argument minimum .
- En testfor command n'est pas si utile que cela, vous pouvez utiliser la fonction sélecteur de cible dans une commande qui fait quelque chose d'utile à la place.
Un exemple de commande avec le sélecteur de cible suggéré pour faire dire bonjour au joueur mort :
execute @a[score_health=0] ~ ~ ~ say Hello
Note : Ceci se répétera jusqu'à ce que le joueur mort réapparaisse, donc le chat sera rempli par un joueur disant bonjour.
Cela peut être surmonté en ayant un bloc de commande à chaîne conditionnelle avec commande :
scoreboard players reset @a health
Une autre façon de procéder consiste à utiliser l'option critères du nombre de décès . Cela vous permettra d'obtenir un score minimum de 1.
Commande pour créer l'objectif :
/scoreboard objectives add Deaths deathCount
Puis deux blocs de commande. Le premier a Repeat Unconditional Always Active avec commandement :
execute @a[score_Deaths_min=1] ~ ~ ~ say hello
Le deuxième a Chain Conditional Always Active avec commandement :
scoreboard players reset @a Deaths