Pour t'expliquer :
Il y a dans ce système 2 types de Input : la carte, et l'oeuf renommé.
Déjà, pour interpréter ces deux input :
La carte vierge a pour ID 395. Lorsque la carte devient rempli (quand on fait clic droit avec elle), elle passe de l'ID 395 à l'ID 358. Une clock de commandblock ultra rapide va faire un /testfor d'un joueur qui aurait donc cette carte d'ID 358. Après, on met un comparateur. Note : cette précision dans le testfor n'est compatible qu'en 1.8.
Pour l'Oeuf, il y a deux méthodes ;
Comme l'Oeuf est renommé, on peux prétendre à un /kill @e[type=Ghast,name=CustomName], avec un comparateur à la suite.
Ou alors, il se base sur un objectif de scoreboard de type stat.useItem.383 (383 étant l'ID des oeufs de spawn) ; dans ce cas, il fait un /testfor @a[score_min_ObjectifOeufDeSpawn=1,score_ObjectifOeufDeSpawn=1]. Cette méthode est compatible en 1.7 et je la trouve plus précise car on peut mettre le @a[...] dans chaque commande.
Une fois cela fait, on a un commandblock qui viendra faire la commande /spawnpoint <joueur> , puis on le téléporte dans un portail de l'End. Tu apparais dans la direction du dispenser et comme tu auras laissé ton clic droit enfoncé comme précisé sur le nom de l'item en début de vidéo, tu ouvriras le dispenser. Après, 2 possibilités :
- Soit les commandblock font un /testforblock pour savoir quel item tu as pris (et donc qu'il n'y a pas DANS LE DISPENSER), ou ils font un /testfor pour voir quel item tu as pris DANS TON INVENTAIRE.
Ensuite, ça t'enlève l'item de sélection, ça le replace dans le dispenser (ça fait un /setblock du dispenser ou bien un /blockdata (1.8) ). Puis ça active une série de commandblock de /give pour donner les objets selon la classe. Enfin, ça te téléporte dans le portail de sortie de l'End et donc tu respawn à l'ancien endroit grâce au spawnpoint.
Pour savoir comment le gars obtient une impulsion à partir de l'ouverture de l'inventaire, j'en ai aucune idée, cela dit.
Je vois trois gros défauts dans le système :
- Si le joueur meurt, il respawn là où il a choisi sa dernière classe.
- On peut pas avoir de maps, pour les afficher ou se repérer tout simplement.
- L'End étant relativement aménagé en son spawn, il faut d'abord empêcher les endermen de prendre des blocs et tuer l'EnderDragon pour éviter qu'il ne bute le joueur. Après, ça va être difficile de récolter de l'endstone par la suite sauf en griefant le système :/