Résolu CommandBlock : Selecteur (très) précis

FunkyToc

Map Baker
26 Mars 2013
511
112
155
33
France, Paris
funkytoc.fr
Bonjour a tous,

Je post ici car, après 4 heures de recherches, je n'ai toujours pas trouvé de réponse à mon intrigue! J'ai besoin de votre aide ! Voici mon problème :

Il s'agit de /effect les joueurs répondant à 2 critères en même temps. C'est en multijoueur, donc un autre joueur ne répondant pas à un seul de ces critères ne doit pas être affecté.
Critères :
- épée dans la main (n'importe quel type)
- Vie/coeurs supérieur a 16

Pour le critère de vie pas de problème : /effect @a[score_Vie_min=16] 1 1 0 true
Mais pour rajouter l'épée en main dans le sélecteur je bloque... /effect @a[score_Vie_min=16,SelectedItem:{id:"minecraft:iron_sword"}] 1 1 0 true <-- ne fonctionne pas.

Aurais-je fais erreur dans le "selectedItem" ?

Merci d'avance !
 

StrangeMan

Animateur de la section Sciences (un des trois o/)
17 Janvier 2015
1 221
208
187
10
Ici
On ne peux pas utiliser de "{,}", ":" dans un sélecteur.
Le sélecteur, bien qu'ayant une utilisation similaire n'est PAS /testfor.

Personnellement j'utiliserais une clock avec
- "testfor @p {SelectedItemSlot:0,Inventory:[{Slot:0b,
id:"minecraft:iron_sword"}]}" puis -> "/scoreboard players set @a iron-sword 1"
Comme ça tu testes selon ça, toujours relié à la clock : "/effect @a[score_Vie_min=16,score_iron-sword_min=1] 1 1 0 true"

Problème de la technique : Comme tu ne le souhaite pas, ça va être dur de cibler seulement le joueur concerné. Il y aura des lacunes, donc c'est seulement un début de piste, si tu trouve une solution, ça m’intéresse aussi ;).
 
  • J'aime
Reactions: JeanBat784

Oromis

Command-blocker slimesque
Staff
Modérateur
Support
11 Février 2014
3 345
2
1 053
297
24
Bretagne
Salut, passe par des scoreboards :
fais tout d'abord un /scoreboard objectives add [nomDeLObjectif] dummy
Puis branche à ta clock cette commande : /scoreboard players set @a[score-Vie_min=16] [nomDeLObjectif] 1 {SelectedItemSlot:0,Inventory:[{Slot:0b,id:"minecraft:diamond_sworld"}]}
En mettant pour "SectedItemSlot:x" la même valeur que pour "Slot:xb" .
Puis tu fait une command sur la même clock avec ceci : /effect @a[score_[nomDeLObjectif]_min=1] 1 1 0 true.

Voila en espérant t'avoir aidé !!!
 

FunkyToc

Map Baker
26 Mars 2013
511
112
155
33
France, Paris
funkytoc.fr
Merci a vous deux de répondre déjà !

StrangeMan, je mets de coté ton idée, en espérant trouver un sélecteur d'ici là !!!

Oromis, ton idée m'a l'air bonne, mais on est restreint à 1 seul et unique slot pour l'épée dans ce cas ? Est-il possible de remédier a cela !?
 

Oromis

Command-blocker slimesque
Staff
Modérateur
Support
11 Février 2014
3 345
2
1 053
297
24
Bretagne
Ça peux ce faire oui ^^
Sinon tu serais obliger (enfin je pense) de faire 9 fois ma commande dans 9 command block différent pour pouvoir détecter dans tout les slots de ta barre.
 

FunkyToc

Map Baker
26 Mars 2013
511
112
155
33
France, Paris
funkytoc.fr
Suite du probleme !

Tout marche bien en ce qui concerne le sélecteur :
/scoreboard players set @a[m=2] épée 1 {SelectedItem:{id:"minecraft:wooden_sword"}}

MAIS l'effet ne prends pas...
/effect @a[score_Vie_min=18,score_épée_min=1] 5 3 1 true ---> UUID invalid

Où est ma faute svp?