Accueil / Tutoriels / Les blocs de commande / [Tutoriel] Téléporter un joueur depuis une interface [1.11.2]
Interface

[Tutoriel] Téléporter un joueur depuis une interface [1.11.2]

[Tutoriel] Téléporter un joueur depuis une interface [1.11.2]
4.9(98.18%) 11 votes

Vous le savez bien, les plugins sont des “ajouts” qui ont énormément révolutionné les serveurs dans Minecraft. Aujourd’hui, la majorité des serveurs réputés sont entretenus par ces petits bouts de code afin de permettre une jouabilité nettement plus appréciable et optimisée. Les plugins deviennent presque indispensable pour qu’un serveur fonctionne. Hélas, ces petits bijoux ne sont disponible qu’en version multijoueur du jeu. Néanmoins, grâce à la puissance des somptueux command blocks, je vais vous partager un moyen de combler ces lacunes. Le système que je m’apprête à vous présenter saura éventuellement satisfaire les mapmakers cherchant un moyen de reproduire vaguement l’interface de téléportation d’un serveur :


Une interface de téléportation d’un serveur fonctionnel avec plugins.

dividerL’interface

Pour exemple dans le tutoriel, nous allons créer une interface de téléportation pour mini-jeux.

Avant de continuer, je tiens à informer qu’un minimum de connaissances concernant les command blocks seront les bienvenues pour éviter d”éventuelles lacunes dans la compréhension du tutoriel.

De plus, le système qui suivra est conçu et adapté pour le solo et le multijoueur. Cependant, il est déconseillé de l’intégrer avec une version non-vanilla telle que Craftbukkit ou Spigot. Par ailleurs, l’Enderchest sera inutilisable car le système se gère grâce à lui.

dividerPréparation

Commencez donc par poser un Enderchest à l’endroit déterminé. Posez ensuite un command block (obtenable via la commande /give @p command_block) sur ce même coffre puis remplissez-le avec cette commande :

/summon armor_stand ~ ~-1 ~ {CustomName:"GUI",NoGravity:1,Marker:1,Invisible:1}


Cette commande permet de faire apparaître une armor stand juste au dessus du coffre. Elle servira de cible pour toutes les commandes qui seront effectuées. Retenez bien aussi que sans cette armor stand, le système ne pourra pas fonctionner en multijoueur.

Continuons donc le système. Disposez donc trois command blocks comme ceci :

Ici, celui tout en bas doit être en repeat et les deux autres, en chain. Notez que vous devrez tous les mettre en Always Active. Ces command blocks permettront donc de définir l’item du slot que vous voudrez utiliser. Chaque command block équivaudra à un slot.

dividerLe système

Maintenant que l’interface est préparée, nous allons nous attaquer au système et à ses commandes. Retournez donc en face des trois command blocks puis insérez cette commande dans ces derniers :

/execute @e[type=armor_stand,name=GUI,r=7] ~ ~ ~ /replaceitem entity @p slot.enderchest.11 minecraft:ITEM 1 0 {display:{Lore:["TEXTE"],Name:"NOM"}}

Il faut savoir que vous pouvez reproduire ce système à différent endroits tant qu’ils sont espacés d’au moins 7 blocs. Présentons maintenant la commande ci-dessus. Le /execute va permettre de cibler toutes les commandes à partir de l’armor stand que nous avons fait apparaître tout à l’heure. Ce système utilisera tout le temps ces mêmes arguments. Ensuite, si le execute est passé, il va exécuter le reste de ma commande. Ici, nous effectuons un /replaceitem dans le slot n°11 de l’enderchest du joueur le plus proche de ce dernier.

Les slots sont numérotés à partir de 0 et non à partir de 1. Voici pour exemple, la numérotation d’un double-coffre :

Le replaceitem permet de faire apparaître un item dans un container ciblé. Remplacez donc ITEM par le nom d’un item de votre choix (Ici, nous choisirons le lit, une boule de neige et enfin une laine bleue pour le tutoriel). Ensuite, il nous faut personnaliser cet item.

La section Lore:[“TEXTE”], consiste à ajouter une petite description en dessous le d’item. Name:”NOM”, mofidiera juste le nom de l’item choisi. Voici un exemple :

Modifiez donc TEXTE et NOM à votre guise.

Les textes de Minecraft peuvent être mis en forme avec le signe §. Ce symbole ne peut pas être entré directement depuis le jeu ; en revanche, vous pouvez l’employer pour les pack de ressources. Pour ce faire, il vous suffit d’insérer le symbole § et d’ajouter son code qui correspond à la mise en forme voulue. C’est-à-dire que, si vous insérez §6Vive Minecraft-France§r, Minecraft affichera “Vive Minecraft-france” en orange. Je vous recommande l’usage de Minecraft Wiki pour connaître les différents codes du symbole §. Cependant, ce caractère n’est pas autorisé par Minecraft et ce, empêche donc l’usage de ce dernier. Néanmoins, notre fabuleux mapmaker Calambiel nous a écrit justement un petit article pour corriger ceci.


Remplacez donc les trois command blocks, avec vos trois différentes commandes. Voici les trois commandes que j’ai inséré :

/execute @e[type=armor_stand,name=GUI] ~ ~ ~ /replaceitem entity @p[r=7] slot.enderchest.11 minecraft:bed 1 0 {display:{Lore:["§f >>§4§l Rejoindre le Rush !§r"],Name:"§f§lRush§r"}}

/execute @e[type=armor_stand,name=GUI] ~ ~ ~ /replaceitem entity @p[r=7] slot.enderchest.13 minecraft:snowball 1 0 {display:{Lore:["§f >>§b§l Rejoindre le Skywars !§r"],Name:"§f§lSkywars§r"}}

/execute @e[type=armor_stand,name=GUI] ~ ~ ~ /replaceitem entity @p[r=7] slot.enderchest.15 minecraft:wool 1 3 {display:{Lore:["§f >>§6§l Rejoindre le Dés à coudre§r"],Name:"§f§lDés à coudre§r"}}

Avant de poursuivre le tutoriel, je tiens à vous informer qu’il se peut que le système ait un défaut. En effet, si un joueur se place plus près de l’Enderchest que le joueur voulant interagir avec l’interface. Le système ne fonctionnera pas. Il va donc falloir se placer le plus près du coffre pour éviter un dysfonctionnement.


Maintenant, nous allons étudier le système de clic sur un item en question. Pour se faire il va vous falloir faire une ligne de commandes par item. Chaque ligne se composera de 4 command blocks (étapes). Notez que les étapes 2 et 3 sont facultatives :


Tous les command blocks chain devront êtres en Always Active et en conditionnal. Si ce n’est pas le cas votre système risque d’être très dangereux pour vous (téléportation constante à un point). Les lignes devront êtres débutées avec des command blocks repeat, également en mode Always Active.

Chaque repeat devra être complété avec ce format de commande :

/execute @e[type=armor_stand,name=GUI] ~ ~ ~ /clear @p[r=7] minecraft:ITEM

Remplacez donc ITEM par chaque le nom des items choisis auparavant (ici, le lit, la snowball et la laine).

Ensuite, poursuivez avec une étape facultative : Le /playsound. En effet, vous n’êtes en cas, obligé d’instaurer cette commande. Si vous souhaitez retirer cette étape, supprimez juste ce command block. Voici la commande du /playsound :

/execute @e[type=armor_stand,name=GUI] ~ ~ ~ /playsound minecraft:entity.endermen.teleport block @p[r=7] ~ ~ ~ 10

Comme précédemment, cette commande exécute (à partir du coffre) un son de téléportation d’Endermen.

Ensuite, encore une fois, nous allons continuer le système avec une troisième étape (elle aussi facultative).

/execute @e[type=armor_stand,name=GUI] ~ ~ ~ /tellraw @p {"text":"Vous avez été téléporté.","color":"green"}

Elle permet d’afficher une petit texte en vert clair dans le tchat du jeu. Pour bien saisir cette commande je vous invite à vous diriger sur le tutoriel du /tellraw.

Enfin, achevez votre ligne de commande avec cette dernière commande :

/execute @e[type=armor_stand,name=GUI] ~ ~ ~ /tp @p <x>  <y> <z>

Qui exécutera donc une téléportation du joueur à des coordonnées précisées. Remplacez donc <x>  <y> <z> par le lieu où le joueur devra être téléporté.


Reproduisez donc ces étapes sur chaque ligne mais en changeants les valeurs par ce que bon vous semble.

Il est très important de placer la commande de téléportation en fin de ligne. Sinon, le joueur n’exécutera pas toutes les commandes. Vous pouvez tout aussi ajouter des commandes entre le /clear et le /tp mais n’oubliez surtout pas de les mettre en conditional.


Après ces étapes achevées, voici ce à quoi le système devrait ressembler :


Voilà, j’en ai fini encore une fois avec ce système. Si vous percevez un quelconque problème ou, mieux encore, un système plus optimisé, n’hésitez pas à poster un commentaire en-dessous cet article. Vous pouvez également rejoindre le Discord de minecraft-france ou bien le mien pour que je puisse encore mieux vous aider.

dividerTéléchargement

[1.11.2] Système d’exemple

Installation

Téléchargez la map. Puis trouvez votre dossier .minecraft :

Windows : Allez dans le menu Démarrer, puis rendez-vous dans Exécuter. Sinon, faites Touche Windows + R. Ensuite, tapez %appdata% dans la barre de recherche, puis allez dans le dossier .minecraft.
Linux : Appuyez en même temps sur ALT + F2. Vous devriez normalement avoir votre .minecraft.
Si vous ne le voyez pas, activez les dossiers cachés avec la combinaison CTRL + H.
Mac : Votre dossier minecraft se trouve dans Utilisateur > Bibliothèque > Application Support.
Si vous ne trouvez pas Application Support, faites Finder > Barre des menus : Aller + Maintenir ALT > Bibliothèque.

Ouvrez l’archive de la map, et transférez le dossier de la map dans le dossier saves, qui se trouve dans votre .minecraft.
Lancez le jeu, et amusez-vous bien !

Image de Une réalisée par Biboush.

A propos de AsiliS

Alors, on est curieux ? https://discord.gg/yk2ugP9

Ceci vous intéresse peut être

Choisir, configurer et installer un VPS

Nous allons apprendre à choisir, configurer et installer un VPS pour pouvoir y installer divers services, tels que des serveurs Minecraft.

Rédiger une réponse

11 Commentaires sur "[Tutoriel] Téléporter un joueur depuis une interface [1.11.2]"

Prévenez moi :
avatar
 
Trier par:   Commentaires récents | Commentaires ancients | Les mieux notés
MisterGuardian
Membre

Petite précision : on ne peut pas avoir de lit, de snow ball ou de block de laine DANS SON INVENTAIRE

MisterGuardian
Membre

Bon article, cependant, il y a un inconvénient : on ne peut pas avoir de lit, de snow ball ou de block de laine…
Je n’ai pas essayé mais on devrai pouvoir faire quelque chose comme :
/execute @e[type=armor_stand,name=GUI] ~ ~ ~ /clear p minecraft:snowball {CustomName:Skywars}
pour que ça ne selectionne QUE les snow ball nommées “Skywars”

Minegab
Rédacteur

Bonjour, le problème a été corrigé, le bouton dirige donc correctement vers le lien de téléchargement. Merci du signalement !

arthur
Invité

je n’arrive pas à telecharger la map car il me redirige vers la même page
pouvez vous m’indiquez le lien direct merci :)

wpDiscuz