[Tutoriel Complet] Les sélecteurs (1.9 et +)

Ce tutoriel vous a-t-il été utile ?


  • Total voters
    4

Gleanight

Massacreur de zombies
23 Janvier 2016
163
39
139
[Tutoriel Complet] Les sélecteurs (1.9 et +)
I) Qu'est-ce qu'un sélecteur ?
Un sélecteur est une "information" permettant de donner de la précision à une commande exécutée. Les sélecteurs sont dans la grande majorité des commandes nécessaires pour exécuter celles-ci.

II) Les différents types de sélecteurs
Il existe actuellement quatre types de sélecteurs différents :
@a ► Cible tous les joueurs
@p ► Cible le joueur le plus proche de l'endroit où la commande est exécutée
@r ► Cible un joueur connecté aléatoirement
@e ► Cible toutes les entités


Exemples diverses :

- /tp @p ~ ~10 ~ téléportera 10 blocs plus haut le jouer le plus proche de l'endroit où la commande est exécutée.
- /gamemode 1 @r mettra en mode Créatif un joueur aléatoire.
- /give @a minecraft:arrow 1 0 donnera 1 flèche à tous les joueurs connectés.
- /kill @e tuera toutes les entités présentes sur la map.


III) Définir un rayon de blocs
1 - Les rayons de blocs
Il est possible avec les sélecteurs de ne cibler uniquement les joueurs / entités étant dans un rayon de blocs précis déployé depuis l'endroit où la commande est exécutée.
Par exemple, le sélecteur "@a[r=5]" ne ciblera uniquement les joueurs étant dans un rayon de 5 blocs de l'endroit depuis lequel la commande est exécutée.

Comme cela pourrait paraître confus pour certains d'entre vous, voici un screenshot qui vous éclaircira :p
2016-04-11_23.40.20.png

Laine rouge = Endroit depuis lequel la commande est exécutée
Laine rose = Rayon déployé par le sélecteur
Sur cette image, le rayon déployé est un rayon de 5 blocs. Seuls les joueurs (ou les entités, cela dépend du sélecteur que vous avez utilisé) dans ce rayon seront ciblés.

2 - Les rayons de blocs inversé
Il ne s'agit pas de leur véritable nom, mais c'est comme cela que je l'appelle car je trouve que c'est le nom le plus logique qu'on pourrait lui accorder ;)
Exemple de sélecteur ayant un rayon de blocs inversé :


@e[rm=5] Ce sélecteur ne ciblera uniquement les joueurs ne se trouvant pas dans un rayon de 5 blocs à partir de l'endroit où la commande est exécutée.

Voici de nouveau la même image que tout à l'heure :
2016-04-11_23.40.20.png

Laine rouge = Endroit depuis lequel la commande est exécutée.
Laine rose = Rayon non-ciblé par le sélecteur
Bloc d'air = Endroits ciblés par le sélecteur
Autrement-dit, tous les joueurs ne se trouvant pas dans le rayon de 5 blocs (représenté par de la laine rose) seront ciblés par le sélecteur de rayon de blocs inversé.

IV) Cibler des joueurs/entités ayant un nom/tag précis
Il est possible de cibler une entité possédant un nom précis.
Par exemple, le sélecteur "@e[name=Exemple]" ne ciblera uniquement toutes les entités possédant le nom "Exemple".
Autre exemple : Le sélecteur "@p[type=Chicken,name=Tutoriel]" ne ciblera uniquement la poule possédant le nom "Tutoriel" la plus proche de l'endroit où la commande est exécutée.
Cela fonctionne exactement pareil pour les deux autres types de sélecteurs (@a et @r).

Il est également possible de ne cibler que les joueurs/entités ne possédant pas le nom inscrit dans le sélecteur. Pour cela, il suffit de rajouter un "!" (point d'exclamation) devant le nom spécifié.
Exemple : Le sélecteur "@e[name=[COLOR=rgb(255, 128, 0)]!Exemple]" ne ciblera uniquement les entités n'ayant pas le nom "Tutoriel".[/COLOR]

Cela-dit, ce n'est pas terminé ! Il est également possible de cibler des entités possédant un tag précis.
Le tags sont un peu plus complexe que les noms.
Ajouter un tag à un joueur/une entité :
/scoreboard players tag <sélecteur> add <NOM DU TAG>

Retirer un tag à un joueur/une entité :
/scoreboard players tag <sélecteur> remove <NOM DU TAG>


Déployer la liste des tags d'un joueur/une entité :
/scoreboard players tag <sélecteur> list
Par exemple, le sélecteur "@a[tag=Exemple]" ne ciblera uniquement toutes les joueurs ayant le tag "Exemple".
Autre exemple : Le sélecteur "@e[type=Cow,tag=Tutoriel]" ne ciblera uniquement toutes les vaches ayant le tag "Tutoriel".

Il est également possible d'utiliser des sélecteurs avec des tags invesés.
Par exemple, le sélecteur "@e[tag=[COLOR=rgb(255, 128, 0)]!Test]" ne ciblera uniquement toutes les entités n'ayant pas le tag "Test".[/COLOR]

V) Les teams & scoreboard
1 - Les teams

Il est possible d'utiliser un sélecteur ne ciblant que les joueurs/entités étant dans une team précise.
Pour cela, il suffit d'ajouter un "[team=[COLOR=rgb(0, 128, 255)]NOM DE LA TEAM]
" au sélecteur.[/COLOR]
Exemple : Le sélecteur "@a[team=Rouge]" ne ciblera uniquement les joueurs étant dans la team Rouge.

Il est également possible de ne cibler que les joueurs/entités n'étant pas dans la team spécifiée.
Pour cela, il suffit d'ajouter un "!" (point d'exclamation) devant la team de la team en question.
Exemple : Le sélecteur "@e[team=[COLOR=rgb(255, 128, 0)]!Bleu]
" ne ciblera uniquement les joueurs n'étant pas dans la team Bleu.[/COLOR]

2 - Les scoreboard
Il est également possible d'utiliser un sélecteur ne ciblant que des joueurs/entités ayant un score minimale/maximale/précis.


Pour tester un score minimal, voici l'ajout à insérer au sélecteur :
"[score_SCORE_min=NOMBRE MINIMAL A TESTER]"

Par exemple, le sélecteur "@e[score_dummy_min=1]" ne ciblera uniquement les entités ayant le score dummy à 1 au minimum.

Pour tester un score maximal, voici l'ajout à insérer au sélecteur :
"[score_SCORE=NOMBRE MAXIMAL A TESTER]"

Par exemple, le sélecteur "@e[score_dummy=1]" ne ciblera uniquement les entités ayant le score dummy à 1 au maximum.

Pour tester un score précis, voici l'ajout à insérer au sélecteur :
"[score_SCORE_min=NOMBRE PRECIS A TESTER,score_SCORE=NOMBRE PRECIS A TESTER]"

Par exemple, le sélecteur "@e[score_dummy_min=1,score_dummy=1]" ne ciblera uniquement les entités ayant le score dummy à 1 seulement.

VI) Les modes de jeu & niveaux d'EXP
1 - Les modes de jeu
Autre possibilité avec les sélecteurs : Il est possible de ne cibler uniquement les joueurs ayant un mode de jeu précis (Survie/Créatif/Aventure/Spectateur).
Biensûr, cela ne marche pas pour les entités ^_^'


Pour cela, il suffit tout simplement d'ajouter un "[m=[COLOR=rgb(0, 128, 255)]ID DU MODE DE JEU]
" au sélecteur.[/COLOR]
Exemple : Le sélecteur "@a[m=1]" ne ciblera uniquement les joueurs étant en mode Créatif.

0 = Mode Survie
1 = Mode Créatif
2 = Mode Aventure
3 = Mode Spectateur

2 - Les niveaux d'EXP
Il est possible d'utiliser des sélecteurs ne détectant uniquement des joueurs à un niveau minimale/maximale/précis.

Pour tester un niveau minimal, voici l'ajout à insérer au sélecteur :
"[lm=[COLOR=rgb(0, 128, 255)]NIVEAU MINIMAL A TESTER]
"[/COLOR]
Par exemple, le sélecteur "@a[lm=1]" ne ciblera uniquement les joueurs de niveau 1 au minimum.


Pour tester un niveau maximal, voici l'ajout à insérer au sélecteur :
"[l=[COLOR=rgb(0, 128, 255)]NIVEAU MAXIMAL A TESTER]
"
[/COLOR]
Par exemple, le sélecteur "@a[l=1]" ne ciblera uniquement les joueurs de niveau 1 au maximum.

Pour tester un niveau précis, voici l'ajout à insérer au sélecteur :
"[lm=[COLOR=rgb(0, 128, 255)]NIVEAU PRECIS A TESTER,l=NIVEAU PRECIS A TESTER]
"
[/COLOR]
Par exemple, le sélecteur "@a[lm=1,l=1]" ne ciblera uniquement les joueurs de niveau 1 seulement.

VII) Orientation verticale & horizontale du regard
Il existe également la possibilité de ne pouvoir cibler uniquement des joueurs/entités ayant une orientation du regard précise, qu'elle soit horizontale ou verticale.

1 - Orientation verticale du regard
L'orientation verticale du regard désigne la vision du joueur comprise entre le sol (valeur "90") et le ciel (valeur "-90"). La valeur 0 désigne le regard horizontal "parfait".
Je m'explique pour plus de précision :
Lorsque le joueur regarde dans une direction, il détermine une valeur du regard vertical.


- Par exemple, si le joueur regarde parfaitement (au maximum) le sol, la valeur de l'orientation du regard vertical est de "90".
- Tandis que si le joueur regarde parfaitement (au maximum) le ciel, la valeur de l'orientation du regard vertical sera de "-90".


Revenons aux sélecteurs : Le sélecteur "@a[rx=45,rx[COLOR=rgb(255, 128, 0)]m=-45]" ne ciblera uniquement tous les joueurs dont la valeur de l'orientation du regard vertical est comprise entre 45 (maximum) et -45 (minimum).[/COLOR]

Le sélecteur "@e[rx=[COLOR=rgb(255, 128, 0)]-90,rxm=-90]" ne ciblera uniquement toutes les entités regardant le ciel parfaitement.[/COLOR]
Le sélecteur "@e[rx=90,rx[COLOR=rgb(255, 128, 0)]m=90]" ne ciblera uniquement toutes les entités regardant le sol parfaitement.[/COLOR]


rx= Orientation maximale du regard verticale.
rxm= Orientation minimale du regard verticale.

2 - Orientation horizontale du regard (Nord/Sud/Est/Ouest)
L'orientation horizontale du regard désigne la vision du joueur Nord/Sud/Est/Ouest comprise entre les valeurs "180" et "-180".

Je m'explique (encore) pour plus de précision :
Les valeurs "180" et "-180" désignent le Nord.

La valeur "-90" désigne l'Est.
La valeur "0" désigne le Sud.
La valeur "90" désigne l'Ouest.

- Par exemple, le sélecteur "@e[ry=90,ry[COLOR=rgb(255, 128, 0)]m=0]
" ne ciblera uniquement toutes les entités regardant dans une direction comprise entre l'Ouest et le Sud.[/COLOR]
- Tandis que le sélecteur "@e[ry=180,ry[COLOR=rgb(255, 128, 0)]m=-180]" ne ciblera uniquement toutes les entités regardant au Nord parfaitement.[/COLOR]

ry= Orientation maximale du regard horizontal.

rym= Orientation minimale du regard horizontal.

VIII) Définir un nombre d'entité/joueur à sélectionner
1 - Sélection de nombre de joueurs/entités
Il est possible de ne cibler uniquement un certain nombre défini de joueurs/entités via les sélecteurs.
Pour cela, on utilise l'argument count.


- Par exemple, le sélecteur "@e[count=[COLOR=rgb(255, 128, 0)]13]
" ne ciblera uniquement 13 entités sur la map.[/COLOR]
- Un autre exemple, le sélecteur "@r[count=[COLOR=rgb(255, 128, 0)]5]" ne ciblera uniquement 5 joueurs aléatoirement sur la map.[/COLOR]

2 - Sélection de nombre de joueurs/entités "inversé"
Maintenant, passons aux sélections de nombre de joueurs/entités "inversé".

Pour cela, on utilise l'argument "count" suivie d'un "=-[NOMBRE]"

- Par exemple, le sélecteur "@e[count=[COLOR=rgb(255, 128, 0)]-15]
" ne ciblera uniquement les 15 entités les plus éloignées de l'endroit depuis lequel la commande est exécutée.[/COLOR]
- Un autre exemple, le sélecteur "@a[count=[COLOR=rgb(255, 128, 0)]-10]" ne ciblera uniquement les 10 joueurs les plus éloignés de l'endroit depuis lequel la commande est exécutée.[/COLOR]

IX) Définir une zone de sélection
Il est possible via les sélecteurs de ne cibler uniquement les entités ne se trouvant à des coordonnées précises ou dans une zone précise.

1 - Sélecteur ne ciblant uniquement des joueurs/entités se trouvant à des coordonnées précises.
Une particularité du sélecteur est qu'il ne peut cibler uniquement des joueurs/entités se trouvant à des coordonnées précises.
Pour cela, on utilise les arguments X, Y et Z.


- Par exemple, le sélecteur "@e[x=45,y=68,z=-452]" ne ciblera uniquement toutes les entités se trouvant aux coordonnées 45 68 -452.
- Le sélecteur "@a[x=-1466,y=52,z=565]" ne ciblera uniquement tous les joueurs se trouvant aux coordonnées -1466 52 565.

2 - Sélecteur ne ciblant uniquement des joueurs/entités se trouvant dans une zone précise.

Encore une autre particularité du sélecteur, c'est qu'il ne peut cibler uniquement des joueurs/entités se trouvant dans une zone précise.
Pour cela, on utilise les arguments X, Y, Z, DX, DY et DZ.

Connaissez-vous WorldEdit ? (J'imagine que oui, si vous avez lu ce tutoriel jusqu'ici...)
Et bien le XYZ / DXDYDZ fonctionne à peu près pareil.


Je m'explique : Dans WorldEdit, nous sélectionnons un bloc A ainsi qu'un bloc B, le but étant de former une zone définie entre ces deux blocs. Ces deux blocs sont à des coordonnées précises.
Le bloc A est aux coordonnées XYZ,

Tandis que le bloc B est aux coordonnées DXDYDZ.
Ici, on ne sélectionne pas les blocs A et B, mais on note leurs coordonnées.

- Par exemple, le sélecteur "@e[x=45,y=4,z=-89,dx=27,dy=11,dz=-75]" sélectionnera uniquement toutes les entités se trouvant dans la zone définie par les blocs (d'air ou non, peu importe) aux coordonnées 45 4 -89 et 27 11 -75.

X) Le sélecteur "@e"
C'est là que les choses deviennent intéressantes ! Le sélecteur "@e" a différentes particularités que les autres sélecteurs n'ont pas.
Effectivement, comme vous avez pu le voir plus haut, le sélecteur "@e" permet de cibler toutes les entités présentes sur la map.
Ce sélecteur peut donc s'avérer être le moins précis. Heureusement, Mojang a décidé de gâter les MapMakers :p
Il est possible de faire des ajouts à ce sélecteur afin de lui donner une meilleure précision.


1 - Les types d'entités
Il est possible de faire en sorte que le sélecteur "@e" ne cible uniquement un mob/une entité précise.
Par exemple, le sélecteur "@e[type=Zombie]" ne ciblera uniquement tous les zombies de la map.

Il est possible de changer l'identifiant "Zombie" par n'importe quelle autre entité tel que le mouton (Sheep) ou bien la vache (Cow).

Zombie ► Zombie
Squelette ► Skeleton
Wither Squelette ► Skeleton {SkeletonType:1}
Creeper ► Creeper
Araignée ► Spider
Slime ► Slime
Poule ► Chicken
Vache ► Cow
Cochon ► Pig
Mouton ► Sheep
Cheval ► EntityHorse
Champimeuh ► MushroomCow
Loup / Chien ► Wolf
Ocelot /Chat ► Ozelot
Poulpe ► Squid
Lapin ► Rabbit
Villageois ► Villager
Golem de fer ► VillagerGolem
Sorcière ► Witch
Enderman ► Enderman
Endermite ► Endermite
Ghast ► Ghast
Cube de magma ► LavaSlime
Cochon-zombie ► PigZombie
Chauve-souris ► Bat
Blaze ► Blaze
Poisson d'argent ► Silverfish
Gardien ► Guardian
Shulker ► Shulker
Araignée venimeuse ► CaveSpider
Éclair ► LightningBolt
Bateau ► Boat
Boule de feu ► Fireball
Nœud de laisse ► LeashKnot
Porte-armure ► ArmorStand
Flèche ► Arrow
Boule de feu de l'EnderDragon ► DragonFireball
Crystal de l'End ► EnderCrystal
Bloc chutant ► FallingSand
Feu d'artifice ► FireworksRocketEntity
Item ► Item
Zombie géant ► Giant
TNT qui explose ► PrimedTnt

TNT sur le point d'exploser ► PrimedTnt {Fuse:50}
Tableau ► Painting
Boule de neige ► Snowball
Bonhomme de neige ► SnowMan
Bouteille d'EXP ► ThrownExpBottle
Potion ► ThrownPotion
Perle de l'Ender ► ThrownEnderpearl
Orbe d'EXP ► XPOrb

Boss Gardien ► Guardian {Elder:1}
Wither ► WitherBoss
EnderDragon ► EnderDragon

2 - Le sélecteur "inversé"
Encore une fois, il ne s'agit pas de son véritable nom, mais c'est comme cela que je l'appelle car je trouve que ce nom est le plus logique que l'on pourrait lui accorder ;)
Ce sélecteur permet de ne cibler uniquement les entités non-précisés dans le sélecteur.
Pour cela, il suffit d'ajouter un "!" (point d'exclamation) devant l'ID de l'entité spécifiée.
Voici un exemple pour que cela soit plus claire à vos yeux :
Le sélecteur "@e[type=[COLOR=rgb(255, 128, 0)]!Player]
" ciblera toutes les entités présentes sur la map sauf les joueurs.[/COLOR]
Autre exemple : La commande "/kill @e[type=[COLOR=rgb(255, 128, 0)]!Cow]" tuera toutes les entités sauf les vaches.[/COLOR]

XI) Généralités
Voici maintenant les généralités.
Par là, je veux dire une (oui une seule) information importante :

TOUS les "ajouts de sélecteurs" peuvent être combinés dans le même sélecteur !

Exemple : Le sélecteur "@e[type=Cow,name=[COLOR=rgb(255, 128, 0)]!Exemple,team=Vache,tag=Tutoriel,score_dummy_min=1,score_dummy=1]" ne ciblera uniquement les vaches n'ayant pas le nom "Exemple", ayant le tag "Tutoriel", étant de la team "Vache" et ayant le score de dummy à 1 uniquement.[/COLOR]
 
Dernière édition:

Night Robin 36

Nouveau
27 Avril 2018
1
0
2
22
bonjours je cherche a mettre 2 nom sur le sélecteur name= je ne y arrive pas quel est la solution sinon super tuto
 

clemw 2000

Tondeur de moutons
7 Juin 2017
34
20
18
www.youtube.com
Ton tuto est plutôt clair, complet et bien expliqué. La seule chose que je pourrais reprocher est la mise en forme: préfère ecrire en noir, le bleu est un peu fluo, ça peut en repousser certains.

Bonne chance pour la suite :)
 

Khudza

Cueilleur de roses
26 Février 2018
12
2
14
21
Bonjour, j'ai rencontré un problème sur la detection d'une entitée (dans mon cas un joueur) dans une zone.
upload_2019-7-23_11-9-24.png


Comme on peut le voir, je suis dans la zone défini du commande blocks (la commande dans le commande block est dans le tchat), levier activé mais la lampe ne fonctionne pas... Et vous pouvez vérifier, je suis bien dans la zone (coordonnées en haut à gauche).
Est-ce que c'est c'est parce que je suis en 1.12.2 ? Une fausse manip ? Si vous le savez, merci de m'aider !
 

Myuto

Une pomme
22 Juin 2016
401
176
155
Alors, de un, c'est pas le bonne endroit pour demander de l'aide. Donc je te conseil de recréer un sujet dans la section adéquat. Et sinon pour répondre, ta commande me parait correct. Donc c'est soit :
- ton commande bloc est en conditionnal
- les commande block ne sont pas activé, surtout si tu es sur un serveur
- le dy=0, augmente le un peu, normalement sa marche, mais il vaut mieux tout tester

Je ne vais pas répondre à ta réponse, donc tu récrés un sujet avec le problème si ça ne marche toujours pas. et donne un peu plus de détail
 

Eglaios

Crétin de la commu
14 Avril 2018
312
43
89
22
Eh, je viens de tomber sur ton tuto... c'est super bien!!! Y a tout dedans, c'est une bonne référence!
Enfin tu devrais mettre "1.9 à 1.12" vu qu'en 1.13, tout change; JSON pour les noms d'entités, types d'entité tout en minuscules, arrivée de nouveaux sélecteurs,...