Cibler un joueur trouvé à l'issue d'un testfor ?

Noxon

Architecte en herbe
17 Juin 2014
131
23
125
30
yo,
Je me posais une question en voyant un sujet précédemment créé sur JVC.
En fait, si par exemple on veut attribuer un effet aux joueurs qui portent un équipement en particulier (par exemple des bottes en diamant), on mettra d'abord une boucle, puis un bloc conditionneur comme ceci :
Code:
/testfor @e[type=Player] {Inventory:[{Slot:100b,id:"minecraft:diamond_boots"}}]}

Ce bloc-ci aura pour but de trouver tout les joueurs portant au moment même des bottes en diamant et les afficheras (Pseudo found)
A coté de ce bloc il y aura donc un comparateur qui dirigera vers le bloc d'effet.
Mais là ça se complique.

Dans le bloc d'effet, quel serait la commande pour que ce bloc cible uniquement les joueurs trouvé par le command block de test ?
en fait il faudrait qu'il existe un genre de variable capable de faire par exemple :
Code:
/execute player %playerfound% ~ ~ ~ /particle mobSpell ~ ~1 ~ 0.4 0.7 0.4 0.001 100

Est-ce qu'il est possible de faire cela ?
Merci d'avance !
 

Jadoremario

MineTesteur/MineBuilder :3
10 Août 2011
356
32
135
24
Oui c'est possible. Primo, il faut que tu crées un objectif de scoreboard (pour l'exemple, ce sera Test, donc la commande donne : /scoreboard objectives add Test dummy )
Deuxio, à la place de ton testfor, tu fais la commande suivante : /scoreboard players set @a Test 1 {Inventory:[{Slot:100b,id:"minecraft:diamond_boots"}}]} .
PS : à la place de @e[type=Player], tu peux mettre @a, c'est pareil ;) .
Ensuite : si tu actives la commande depuis une clock, il faut que sur cette même clock, tu fasses la commande /execute @a[score_Test=1,score_Test_min=1] ~ ~ ~ /particle mobSpell ~ ~1 ~ 0.4 0.7 0.4 0.001 100 . Puis, sur une clock plus lente, tu tapes la commande /scoreboard players set @a Test 0 .
Si tu fais ton testfor à partir d'un bouton, tu mets derrière le commandblock un répéteur à un tick (pas un comparateur !) sur lequel tu mets la commande /execute @a[score_Test=1,score_Test_min=1] ~ ~ ~ /particle mobSpell ~ ~1 ~ 0.4 0.7 0.4 0.001 100 puis tu remets un répéteur derrière ce commandblock avec cette commande : /scoreboard players set @a Test 0 .
Voilà !
 

Noxon

Architecte en herbe
17 Juin 2014
131
23
125
30
Merci beaucoup ! :) Je n'avais jamais réellement touché aux scoreboard et je savais pas qu'il était possible de mettre des conditions directement dedans.