1. Le forum de Minecraft-France va définitivement fermer ses portes. Celui-ci restera en lecture seule mais vous ne pourrez plus y apporter de nouveaux topics. Nous vous invitons à nous rejoindre sur le Discord de Minecraft-France qui permet de présenter vos projets, discuter avec la communauté etc.. Merci à tous d'avoir fait vivre ce forum de nombreuses années. Pour nous rejoindre sur Discord, Cliquez ici

Command Block [Tutoriel Complet] Les sélecteurs (1.9)

Discussion dans 'Tutoriels' créé par Gleanight, 12 Avr 2016.

?

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

  1. Oui

    100.0%
  2. Non

    0 vote(s)
    0.0%
  1. Gleanight

    Gleanight Explorateur

    Inscrit:
    11 Fev 2016
    Messages:
    72
    Points:
    58
    [Tutoriel Complet] Les sélecteurs (1.8 ou +)
    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=150]" ne ciblera uniquement les joueurs étant dans un rayon de 150 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
    [Tutoriel Complet] Les sélecteurs (1.9) - Image.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 :
    [Tutoriel Complet] Les sélecteurs (1.9) - Image.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=!Exemple]" ne ciblera uniquement les entités n'ayant pas le nom "Tutoriel".

    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=!Test]" ne ciblera uniquement toutes les entités n'ayant pas le tag "Test".

    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=NOM DE LA TEAM]" au sélecteur.

    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=!Bleu]" ne ciblera uniquement les joueurs n'étant pas dans la team Bleu.


    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=ID DU MODE DE JEU]" au sélecteur.

    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=NIVEAU MINIMAL A TESTER]"

    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=NIVEAU MAXIMAL A TESTER]"

    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=NIVEAU PRECIS A TESTER,l=NIVEAU PRECIS A TESTER]"

    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,rxm=-45]" ne ciblera uniquement tous les joueurs dont la valeur de l'orientation du regard vertical est comprise entre 45 (maximum) et -45 (minimum).


    Le sélecteur "@e[rx=-90,rxm=-90]" ne ciblera uniquement toutes les entités regardant le ciel parfaitement.

    Le sélecteur "@e[rx=90,rxm=90]" ne ciblera uniquement toutes les entités regardant le sol parfaitement.

    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,rym=0]" ne ciblera uniquement toutes les entités regardant dans une direction comprise entre l'Ouest et le Sud.

    - Tandis que le sélecteur "@e[ry=180,rym=-180]" ne ciblera uniquement toutes les entités regardant au Nord parfaitement.

    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=13]" ne ciblera uniquement 13 entités sur la map.

    - Un autre exemple, le sélecteur "@r[count=5]" ne ciblera uniquement 5 joueurs aléatoirement sur la map.

    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=-15]" ne ciblera uniquement les 15 entités les plus éloignées de l'endroit depuis lequel la commande est exécutée.

    - Un autre exemple, le sélecteur "@a[count=-10]" ne ciblera uniquement les 10 joueurs les plus éloignés de l'endroit depuis lequel la commande est exécutée.

    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=!Player]" ciblera toutes les entités présentes sur la map sauf les joueurs.

    Autre exemple : La commande "/kill @e[type=!Cow]" tuera toutes les entités sauf les vaches.


    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=!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.
     
    • Informatif Informatif x 2
    • J'aime J'aime x 1
    #1 Gleanight, 12 Avr 2016
    Dernière édition: 19 Avr 2016
  2. Mlakuss

    Mlakuss Rédacteur

    Inscrit:
    7 Sept 2013
    Messages:
    1 694
    Points:
    180
    Sexe:
    Homme
    J'étais justement en train de faire un truc un peu semblable pour un article (enfin, je l'ai fait Dimanche plus exactement).
    De tête, il te manque encore les arguments suivant:
    c=, ry=, rym=, rx=, rxm=, dx=, dy=, dz=
     
    • J'approuve J'approuve x 1
    • Informatif Informatif x 1
  3. Gleanight

    Gleanight Explorateur

    Inscrit:
    11 Fev 2016
    Messages:
    72
    Points:
    58
    Effectivement mince ! :/
    Merci encore de l'information :)
     
    • Informatif Informatif x 1
    #3 Gleanight, 12 Avr 2016
    Dernière édition: 19 Avr 2016
  4. yahnyx

    yahnyx Nouveau

    Inscrit:
    16 Avr 2016
    Messages:
    6
    Points:
    0
    Sexe:
    Homme
    Bonjour.
    Je suis actuellement en 1.9, et quand j'utilise ce tag : @e[type=Arrow,tag=Transféreur] ou ce tag @e[type=Arrow,score_Transféreur_min=1] , le jeu me dit " L'UUID de l'entité fourni est dans un format invalide".
    Pourquoi ?
     
  5. Xgrps

    Xgrps Mineur

    Inscrit:
    28 Mai 2014
    Messages:
    471
    Points:
    81
    Sexe:
    Homme
    Salut à toi jeune haricot,

    En premier temps, ceci: @e[type=Arrow,score_Transféreur_min=1] n'est pas un tag, c'est un score donc la commande n'est pas la même.

    Après je ne suis pas sur que le "é" soit un caractère valide.

    Staline.
     
    #5 Xgrps, 16 Avr 2016
    Dernière édition: 16 Avr 2016
  6. Calambiel

    Calambiel Résident de l'End

    Inscrit:
    5 Août 2014
    Messages:
    6 595
    Points:
    229
    "UUID specified is in invalid format" peut juste vouloir dire qu'aucune entité n'a été trouvée (le message porte vachement à confusion), auquel cas il faut vérifier que l'entité reçoit bien les tags/scores en question.
     
  7. yahnyx

    yahnyx Nouveau

    Inscrit:
    16 Avr 2016
    Messages:
    6
    Points:
    0
    Sexe:
    Homme
    Merci !
     
  8. Inyhx

    Inyhx Nouveau

    Inscrit:
    14 Avr 2016
    Messages:
    5
    Points:
    0
    Sexe:
    Homme
    Dans le petit 1 entité tu as mit sheep pour cochon! Sheep c'est le mouton?
     
  9. Gleanight

    Gleanight Explorateur

    Inscrit:
    11 Fev 2016
    Messages:
    72
    Points:
    58
    Il faut aussi savoir autre chose :
    Les caractères comportant des accents, cédis ou autre lettres "non-simples" ne seront pas analysés ^-^'
    Pour faire court, utiliser un caractère de ce genre ne fera pas fonctionner ton système, au contraire :x

    EDIT :

    Ah effectivement !
    Merci de l'information, je corrige ça immédiatement :)
     
    #9 Gleanight, 16 Avr 2016
    Dernière édition: 16 Avr 2016
  10. yahnyx

    yahnyx Nouveau

    Inscrit:
    16 Avr 2016
    Messages:
    6
    Points:
    0
    Sexe:
    Homme
    Re bonjour !
    J'ai encore un problème....
    Quand je fais " /kill @e[type=Item,name=Retour] " rien ne se passe .... et " /tp @a @e[type=Item,name=Retour]" non plus...
    Je précise que j'ai préalablement fais spawn cette entité et que le messsage d'erreur est " L'UUID de l'entité fourni est dans un format invalide"
     
  11. Mlakuss

    Mlakuss Rédacteur

    Inscrit:
    7 Sept 2013
    Messages:
    1 694
    Points:
    180
    Sexe:
    Homme
    Code (cpp):
    /tp @a @e[type=Item,name=Retour,c=1]
    Vérifie que la commande que tu utilises pour faire apparaître l'objet ressemble bien à la suivante:
    Code (cpp):
    /summon Item ~ ~ ~ {CustomName:"Retour",Item:{id:"minecraft:stone",Count:1b}}
     
  12. yahnyx

    yahnyx Nouveau

    Inscrit:
    16 Avr 2016
    Messages:
    6
    Points:
    0
    Sexe:
    Homme
    A oui c'est là que je m'étais trompé...... j'avais marqué " name:Retour" mais ca ne faisait pas d'erreur.
    Merci !
     

Partager cette page