>> La recherche se fait sur tous les élements du jeu Minecraft <<
Aidez nous a financer le site: Joignez l'utile à l'agréable et profitez d'FR-Minecraft sans publicités en devenant VIP ! Ou ajoutez FR-Minecraft dans vos exceptions, nous n'abusons pas des pubs
Aidez nous a financer le site: Joignez l'utile à l'agréable et profitez d'FR-Minecraft sans publicités en devenant VIP ! Ou ajoutez FR-Minecraft dans vos exceptions, nous n'abusons pas des pubs

Minecraft 1.12: Ajout du selecteur @s

Le 26/04/2017 à 7h06
Aidez nous a financer le site: Joignez l'utile à l'agréable et profitez d'FR-Minecraft sans publicités en devenant VIP ! Ou ajoutez FR-Minecraft dans vos exceptions, nous n'abusons pas des pubs

C'est une nouveauté que personne n'avait découvert dans la dernière snapshot, et pourtant elle était belle et bien présent, et elle risque d'être très utile pour tous les redstoneurs: le nouveau sélecteur @s permet de selectionner l'entité qui tape la commande.

Les sélecteurs permettent, dans les commandes, de remplacer le nom d'un joueur par un code dynamique, permettant de filtrer une recherche. La syntaxe peut vite devenir complexe, il existe même des générateurs de sélecteurs en ligne.

Il existait jusqu'à présent 4 sélecteurs:
  • @p qui cibler le joueur le plus proche de l'entité qui executé la commande
  • @r qui cibler un joueur au hasard
  • @a qui cibler tous les joueurs
  • @e qui cibler toutes les entités (joueurs et mobs)
Mais tous ces sélecteurs avaient un gros défaut: pour cibler l'entité (ou le joueur), le jeu devait faire la liste de toutes les entités, puisque de rechercher celle qui correspondait le mieux au critère demandé, un fonctionnement particulièrement gourmande en ressource, ce qui a conduit les développeurs de Minecraft PE a créer un nouveau sélecteur, beaucoup plus rapide, le sélecteur @s.

Le nouveau sélecteur @s est extrêmement simple: il cycle l'entité qui exécute la commande, par exemple:

Ici c'est moi qui tape la commande, donc c'est mon nom qui apparaît. Dans ce cas de figure, le résultat est donc rigoureusement identique au sélecteur @p, mais en beaucoup plus rapide.

Allons plus loin avec l'exemple suivant:

Ici la commande /execute cible tous les mobs de la map, en leur demandant d'executer la commande précédente. le selecteur @s de la commande cible donc, tour a tour, chacun des mobs ! Ce comportement aurait était très difficile a reproduire dans le selecteur @s. Il aurait fallu filtrer les entités sur différent critère, un filtrage pas toujours simple a faire suivant les cas, et surtout gourmand en ressource pour l'ordinateur.

Un dernier exemple qui montre que ce sélecteur est vraiment différent:

Il s'agit toujours de la même commande, mais cette fois dans un bloc de commande. Qu'elle est l'entité qui execute la commande ? Aucune, ce n'est pas une entité, c'est un bloc, donc la commande tombe en erreur, le selecteur @s n'a rien trouvé.

Le gain en performance pourra être encore meilleur sur des commandes récursive, lorsqu'un /execute execute un autre /execute, etc., par exemple:
/execute @s ~ ~ ~ /execute @s ~ ~ ~ /execute @s ~ ~ ~ /say hi
Ici la commande est rapide, @s ne cible qu'une entité, pas de recherche a faire. Pour faire la même chose avant, il aurait fallu faire:
/execute @e[r=0,c=1] ~ ~ ~ /execute @e[r=0,c=1] ~ ~ ~ /execute @e[r=0,c=1] ~ ~ ~ /say hi
Hors dans cet exemple le nombre d'entité a recherche est exponentiel, les performances du jeu chute rapidement.
L'exemple peut paraitre bete, pourquoi faire ça ? Dans certain cas on a pas le choix, par exemple si on veux selectionner plusieurs tag, il n'est possible d'en donnée qu'une seul dans le selecteur, donc il faut multiplier les /execute:
/execute @e[tag=tag1] /execute @s[tag=tag2] /execute @s[tag=tag3 /say hi

Et c'est sans parler de cas où le selecteur "@e[r=0,c=1]" ne fonctionnait même pas, par exemple dans le cas d'une map ou plusieurs armor stand serait superposés.

Il est d'ore est déjà possible de tester ce sélecteur puisqu'il est disponible dans la snapshot 17w16b !
Cet article a été publié par Tronics, le 2017-04-26 07:06:22. Source
Validé par  Tronics. Dernière modification par  Tronics le 26/04/2017 à 7:06.
Partager :
Commentaires de la news Minecraft
Minecraft 1.12: Ajout du selecteur @s :
le 26/04/2017 à 08:46
Super
Surio (anonyme)
le 26/04/2017 à 08:54
Génial !!! Ça ajoute vraiment quelque chose aux command_blocks et en plus ça fait moins laguer, je valide
le 26/04/2017 à 09:01
Ha enfin !!
le 26/04/2017 à 09:23
J'ai riiien ! Mais alors rien com-pris !
le 26/04/2017 à 09:32
Aaaah, voilà enfin une news intéressante !! :D Plutôt chouette comme sélecteur :)
(et si Tronics, la toute dernière commande fonctionnerait, puis que le "c=1" prend l'entité la plus proche, c'est même plus fiable que le "r=0" qui a tendance à bugger dans pas mal de versions ;) )
SD00 (anonyme)
le 26/04/2017 à 09:36
en fait quand tu tapes à la place de ton nom,@p,@e,@a... quand tu tapes @s c'est celui qui à tapé la commande qui reçoit l'effet de la commande !
Et en fait je m'appelle SD000 mais j'ai la flemme de me connecter !
le 26/04/2017 à 10:12
C'est pas mal comme sélecteur . @SD00 tu as tous compris .
ENFIN (anonyme)
le 26/04/2017 à 11:43
ENFIN ILS L'ONT AJOUTE, putain ça changera du @p[r=0] qui était bugué
Jorropo (anonyme)
le 26/04/2017 à 12:35
Super bien expliquer, il manque juste un ] a :
/execute @e[tag=tag1] /execute @s[tag=tag2] /execute @s[tag=tag3 /say hi
/execute @e[tag=tag1] /execute @s[tag=tag2] /execute @s[tag=tag3] /say hi #c'est mieux sa :)
Incooo (anonyme)
le 26/04/2017 à 12:37
Oh, enfin un sélecteur utile pour faire des "one click shop" sur les panneaux, fini les @p qui cible un autre joueur quand tu clic !
(C'est pas trop tôt)
Poisson (anonyme)
le 26/04/2017 à 13:06
Comment je fait pour que quand je vais sur un certain block sa fait un /effect
rol59 (anonyme)
le 26/04/2017 à 13:11
OUIII !!!! ahahahahah ! OUIII !
jaja05 (anonyme)
le 26/04/2017 à 13:15
@poisson tu devrai faire un /effect @p avec le rayon 1 fait le fonctionnée constament ça devrai marcher
Ps:Désolé pour l'orthographe chui pressé
CubicalDalek (anonyme)
le 26/04/2017 à 13:20
Pas mal du tout !
ManociaDeco (anonyme)
le 26/04/2017 à 13:38
Aah ! Voici qui va faciliter beaucoup de choses !
CercusMC (anonyme)
le 26/04/2017 à 13:55
Ah un truc qui me plait : les shops seront plus pratiques
le 26/04/2017 à 14:13
ça pourra aussi servir pour insérer le nom du joueur qui joue à une map sans avoir à faire des commandes saugrenues =)
ENDERMAN10 (anonyme)
le 26/04/2017 à 15:26
J' y comprends rien.
Quelqu'un peut m'expliqué?
le 26/04/2017 à 15:28
Merci Tronics @s commande ! :)
le 26/04/2017 à 16:37
dommage qu'il y a pas le sélécteur @b pour cibler les blocs =(

EX:/execute @b[id=stone] ~ ~ ~ summon creeper ~ ~1 ~
Un Creeper va apparaitre sur tout les blocs de stone
le 26/04/2017 à 16:38
@Grand_Corbeau > Oui. D'ailleurs tu as vu les nouveautés des blocs de commandes dans la dernière snpashot ? On peut faire des IF, ELSE, ELIF/ELSE IF
Incooo (anonyme)
le 26/04/2017 à 16:59
@neil3000 Quoi ? Vraiment ? Je suis curieux de savoir de quel façon sa a été implémenter :o.
PoulpoGaz (anonyme)
le 26/04/2017 à 17:04
Trop bien ! Avant quand on faisait des maps aventures, on ne pouvait pas avoir son pseudo (ou sinon c'était super dur). -> Je veux dire que les mapeurs devaient mêtre un nom. Par exemple BTO2-6. Ben maintenant on peut avoir PoulpoGaz (Mon pseudo) en tant que nom !!! Génial
Akazuma (anonyme)
le 26/04/2017 à 17:04
C'est intéressant et utile
Z_runner (staff)
le 26/04/2017 à 17:10
neil3000 : C'est vrai ??? J'avais même pas vu, pourtant c'est une des premières snapshots que je joue dès sa sortie...
le 26/04/2017 à 17:23
@b n'est pas command intéresse neil3000 !
le 26/04/2017 à 17:39
@neil3000 -> oui, j'avais vu !! Le seul truc c'est que c'est une mécanique qui sera surtout utile pour des systèmes de "map", pas dans des trucs genre One Commands, vu que ça utilise la disposition des blocs ^^
Anonyme7 (anonyme)
le 26/04/2017 à 17:59
J'ai pas compris à quoi sert @s
Akazuma (anonyme)
le 26/04/2017 à 18:13
J'ai trouvé un bug avec les repeaters il ne faut pas les activer de côté avec un autre repeater (rang 4 ou je ne sais pas)ou sinon vous aurez un souci de textures!
le 26/04/2017 à 18:55
minecraft snpashot 17w17a news troncis :`(
Draghetis (anonyme)
le 26/04/2017 à 20:22
@Akazuma Du genre une barre avec la texture de la bedrock à la place de la torche ? C'est tout à fait normal, ça veut dire que le repeater est bloqué ( il ne laissera pas passer le courant redstone ).
Azukii (anonyme)
le 26/04/2017 à 20:31
le son du xilophone a été implemter avec un note block sur un block d'os tkt j'ai vérifier in-game
amalgamstephanen (anonyme)
le 26/04/2017 à 21:00
@Yannben1000 Je l'attend aussi
Akazuma (anonyme)
le 26/04/2017 à 22:31
@Draghetis oui mais c'est tout de même un bug de texture (enfin je crois)
@Yannben 1000 oui elle est sorti mais Tronics va la sortir vers 5h du mation
Grnognon (anonyme)
le 26/04/2017 à 23:02
Dans becoup de cas on aurais simplement pus utilise @e[c=1] en lexecutan sur elle meme , sa n'aporte rien de vraiment utile meme si cela fait gagne de performance
Aehg (anonyme)
le 27/04/2017 à 13:13
Ah ! Ça c'est positif ! Ça s'est concret et utile !
le 27/04/2017 à 20:26
@Grogon le "dans beaucoup de cas" ne sert à rien, cette commande complète évidement les cas particuliers dans lesquels aucune commande post @s ne pouvait fonctionner (coucou les commandes dans les panneaux, afin de savoir qui a cliqué)
saveuxdirequoi (anonyme)
le 30/04/2017 à 23:46
J'ai pas compris : il cycle l'entité qui éxécute la command ! je pense que sa veux dire sa concerne le joueur qui écrit @s dans le chat

Vous devez être connecté pour laisser un commentaire.