TwinXeon by Renaudet
/Accueil/Tous les articles
Tutoriel : créer un Portail custom (Minecraft 1.8.3)
Voici mon premier tutoriel Minecraft dédié aux blocs de commandes. Il s'agit d'un tutoriel avancé, même si j'ai certainement encore beaucoup à apprendre sur les mécanismes de Redstone, en particulier pour savoir faire des mécanismes compacts.

Le but du tutoriel est la création d'un portail customisable pour des Map aventure ou autre. Voici tout d'abord une vidéo de démonstration du portail (ici, le portail réalise une téléportation d'une dizaine de blocs vers l'arrière) :



Ce tutoriel a été créé sous Minecraft 1.8.4 et nécessite donc peut-être quelques adaptations pour une autre version. Il n'utilise aucun plugin et l'action du portail ainsi créé est à la charge du concepteur de Map (téléportation vers un autre monde/biome etc.). Il s'inspire bien sûr du principe de fonctionnement du Portail du Nether.


Etape 1: créer un portail quelconque



Etape 2 : noter les coordonnées du centre de votre portail. S'aider du mode F3 pour cela

Dans mon cas, il s'agit du point de coordonnées x=1009,y=4,z=1033



Etape 3 : prendre une aspirine, boire un café, et se retrousser les manches

La première chose à faire et de creuser une fosse de 2 blocs de profondeur d'environ 17 blocs de longueur et 8 blocs de largeur. Elle servira à camoufler le mécanisme :



La fosse peut commencer à plusieurs blocs du portail, mais les blocs du mécanisme devront être chargés pour que celui-ci fonctionne, ils ne doivent donc pas se trouver dans un autre chunk. En règle générale, si la fosse est visible depuis le portail, le mécanisme fonctionnera.

Etape 4 : préparatifs

Notre portail va utiliser le mécanisme des Scoreboards. Il nous faut donc créer un objective spécifique à notre portail que j'ai appelé portal.
Tapez les commandes suivantes pour initialiser le scoreboard :

/scoreboard objectives add portal dummy
/scoreboard players set #portal portal 0

Nous allons également utiliser une horloge. Il en existe beaucoup, ce tutoriel utilise une horloge basée sur des entonnoirs. Placez deux entonnoirs côte-à-côte à peu près au milieu, alignés sur l'un des côtés de la fosse :



Les deux entonnoirs doivent être connectés entre eux. Afin d'initialiser l'horloge, il est nécessaire de poser un item dans l'un des entonnoirs.
Connectez ensuite de chaque côté de l'horloge un comparateur et un répéteur. Je ne suis pas certain que le répéteur soit obligatoire; on peut peut-être s'en passer en augmentant le nombre d'items transférés à chaque tick d'horloge entre les deux entonnoirs (à essayer). Vous devez obtenir ceci :



 Une fois l'horloge activée, les comparateurs vont s'allumer puis s'éteindre à une fréquence de 0.5 Hz environ.

Etape 5 : réalisation du circuit d'activation du Portail

Posez un bloc de commande sur la sortie de l'un des répéteurs, puis posez une torche de Redstone sur le côté gauche du bloc de commande lorsque vous le regardez depuis l'horloge et si vous avez choisi le répéteur de droite (sur le côté droit si vous avez choisi le répéteur de gauche. Attention, la copie d'écran ci-dessous est inversée, la torche doit être à gauche). Ajoutez un comparateur en sortie du bloc de commande et reliez l'entrée secondaire du comparateur avec la torche comme sur le schema ci-dessous :



Entrez la commande suivante pour ce bloc :

testforblock 1009 4 1033 minecraft:fire

Note: on teste ici la présence du bloc feu au centre du portail. Ainsi, pour activer notre portail, les joueurs devront disposer d'un briquet et enflammer le sol du Portail. On peut imaginer d'autres mécanisme d'activation, comme l'utilisation d'un bâton enchanté ou un clic sur une pancarte...

Il est l'heure de tester ce premier bloc en ajoutant par exemple un bloc de commande en sortie du comparateur et en configurant la commande say Fire !

Allez ensuite au pied de votre portail avec un briquet, et testez la bonne détection de l'événement :



Vous devez voir le message [@] Fire ! apparaître dans la zone de chat.

Nous allons utiliser cet événement afin d'activer notre Portail.

Remplacez la commande du bloc de test par la commande suivante :

setblock 1009 4 1033 minecraft:air
Note: la première action est d'éteindre le feux afin que le joueur qui franchit le portail ne recoive pas de dégâts.

Ajoutez maintenant les blocs de commande et répéteurs suivants :




Ces blocs vont nous permettre de gérer l'activation du portail. Cette activation nécessite trois actions :

  • Jouer un son spécifique à l'activation
  • Produire une animation spécifique à la phase d'activation
  • Marquer le portail comme 'actif'
Commande du premier bloc (animation visuelle) :

particle cloud 1009 4 1033 0 1 0 0.1 1000

Commande du second bloc (animation sonore) :

playsound portal.travel @p[x=1009,y=4,z=1033,r=5]

Commande du troisième bloc (positionnement du témoin d'activation) :

scoreboard players set #portal portal 1

Note: les animations son propres aux goûts de chacun. J'ai pour ma part choisi un gros nuage de particules blanches accompagné du son joué par le Portail du Nether durant le transfert d'un joueur.

L'activation effective du Portail est enregistrée sous la forme d'un score (portal) évalué à 1 pour le joueur fictif '#portal'. Si l'on souhaite créer plusieurs portails, il faudra songer à adapter le nom de ce joueur fictif: #portal1 puis #portal2 ... #portalN

Etape 6 : réalisation du circuit d'animation du portail activé

Afin que le joueur perçoive bien que le portail est activé, il est nécessaire d'entretenir un retour visuel, et pourquoi pas sonore, d'un interface / porte vers l'autre dimension.

J'ai voulu au début détourner l'animation du portail du Nether, mais si l'on pose le bloc violet du portail, il reste actif, ce qui fait que le joueur se retrouve dans le Nether s'il traverse notre portail. Ce n'est pas ce que l'on souhaite faire ici.

On va donc créer une boucle auto-entretenue (une seconde horloge quoi) qui fera apparaître des particules sur les deux blocs de la porte de notre Portail durant toute sa phase active. Ajoutez les blocs de commande, les fils de redstone et les répéteur / comparateurs suivants :



De haut en bas et de droite à gauche, les commandes sont les suivantes :

première rangée :

particle witchMagic 1009 4 1033 0 1 0 0.1 70 pour faire un nuage de particules (moitiée inférieure de la porte)
scoreboard players test #portal portal 1 1 pour entretenir l'animation tant que le portail est actif
playsound note.bass @p[x=1009,y=4,z=1033,r=3] pour ajouter une touche sonore à l'animation
seconde rangée :

particle witchMagic 1009 5 1033 0 1 0 0.1 50 pour faire un nuage de particules (moitiée supérieure de la porte)
Et voilà ! Il est temps de tester l'activation de notre portail. Reprenez votre briquet et allez enflammer la dalle au sol du portail, vous devriez obtenir ceci :



Bon, c'est bien joli tout ça, mais il ne fait pas grand chose notre portail. Nous allons utiliser l'autre sortie de l'horloge à entonnoirs pour implémenter le comportement du portail lorsqu'un joueur le traverse.

Etape 7 : réalisation du circuit d'action du portail

Ajoutez un bloc de commande en sortie du répéteur de gauche de l'horloge. Ce bloc ne doit activer la suite de notre circuit que si le portail est activé. Il 'protège' notre action en quelque sorte.

Insérez la commande suivante :

scoreboard players test #portal portal 1 1
Puis ajoutez un comparateur en sortie du bloc, relié par un fil de redstone à une torche de redstone posée sur un côté du bloc. Il s'agit du même type de montage que pour l'étape 5.

Ajoutez un répéteur en sortie de comparateur puis un bloc de commande. Ce dernier sert à valider la présence d'un joueur dans le portail. C'est un bloc très important !

Insérez la commande suivante :

testfor @e[x=1009,y=4,z=1033,r=1]

Puis, connectez un comparateur et une torche de redstone en sortie comme pour le bloc précédent.
Enfin, connectez un répéteur en sortie du comparateur et une dérivation en fil de redstone en sortie du répéteur. Placez un bloc de commande à chaque extrémité de la dérivation.

A ce stade, vous devez obtenir un schéma comme celui-ci :



 Pour le bloc situé tout en bas du polygone bleu ci-dessus, insérez la commande suivante :

scoreboard players set #portal portal 0
Ainsi, notre portail se désactive dès qu'un joueur le franchit (choix personnel)

Pour l'autre bloc, insérez la commande suivante :

effect @p[x=1009,y=4,z=1033,r=1] 9 8 250
Cette dernière commande a pour effet de donner l'effet de nausée au joueur dans le portail, afin de simuler la sensation du transfert. Comme l'effet de nausée met quelques secondes pour être vraiment sensible, on ajoute une ligne à retard composée d'une dizaine de répéteur à 4 ticks en série sur la sortie du bloc de commande.

Enfin, la sortie de la ligne à retard peut être connectée à un dernier bloc de commande qui réalise l'opération prévue pour notre portail. Ici, une téléportation vers un point en amont de notre portail, pour les besoins de la démonstration.

tp @p[x=1009,y=4,z=1033,r=1] 989 4 1026

Et voilà ! le circuit de contrôle de notre portail est terminé. La vue générale suivante présente l'ensemble du mécanisme:


Testez le portail avant de camoufler le mécanisme en le recouvrant de blocs d'herbe.


activation du portail grâce au briquet



transfert. L'effet de nausée est bien visible


Quelques extraits des traces dans la zone de chat

Une fois votre portail au point, n'oubliez pas de bloquer la production des traces de debug en tapant la commande :
/gamerule commandBlockOutput false
Et voilà ! Amusez-vous bien avec ce portail 100% Minecraft 1.8

Ajoutez votre commentaire :
  Votre pseudo :
  Votre adresse mail (obligatoire):
  Votre commentaire :
 
Site optimisé pour un affichage en 800x600 sous Firefox 8.x - ©Copyright 2011-2012 by Nicolas Renaudet