Le punchmonster est un jeu créé par Zezombye durant la bêta 1.7 qui consiste à rester le plus longtemps possible sur une plate-forme en poussant des mobs dans le vide à l’aide de boules de neige et de sprint hit (taper en sprintant, ce qui augmente le knockback).
Ce jeu vous a mis l’eau à la bouche ? Voici donc comment le construire ! À noter que ce tutoriel est pour un serveur vanilla ou une partie solo, mais il est totalement possible de le mettre sur un serveur bukkit. C’est même recommandé en raison de la difficulté à faire ça sur un serveur vanilla.
En raison de la longueur de ce tutoriel, il est divisé en 2 parties : la première explique comment construire un punchmonster et comment faire le système redstone pour un punchmonster solo, tandis que la deuxième expliquera comment construire le shop et comment faire le système redstone pour un punchmonster multijoueur.
Construire le punchmonster
Avant de faire un système redstone compliqué, il faut construire le punchmonster ! Il est recommandé d’utiliser WorldEdit pour une avancée rapide. Avec WorldEdit, un punchmonster peut se faire en une à deux heures (en incluant la partie redstone). Il est à noter qu’un punchmonster peut être customisé, mais nous allons en faire un comme dans la vidéo. Pour changer, nous allons le faire en sandstone au lieu de le faire en stone brick. Les blocs de fer ne doivent pas être placés, ils sont là uniquement pour indiquer le nombre de blocs.
Commencez par faire la plate-forme. C’est principalement elle qui détermine la difficulté ; en effet, plus la plate-forme est grande, moins vous aurez de chances de tomber (mais cela peut se retourner contre vous, car vous aurez des difficultés à faire tomber les mobs !). Sa largeur devrait être de 7 à 5. Ici, nous allons mettre 5 pour faire comme dans la vidéo.
Quant à la longueur, elle dépendra du nombre de spawners que vous voudrez mettre. Dans le punchmonster original, les spawners sont espacés de 2 blocs par rapport au mur et espacés de 3 blocs entre eux ; cela fait une longueur de 17 blocs si vous voulez 4 spawners par côté et une longueur de 21 blocs si vous en voulez 5. Ici, nous allons en mettre 4, soit une plate-forme de 17 blocs.
La stone symbolisant les spawners, votre plate-forme devrait ressembler à cela.
Faites ensuite une ligne 1 bloc derrière la plate-forme et à 3 blocs de haut de la plate-forme.
Etendez la ligne sur 9 blocs de plus.
Augmentez d’un bloc les 3 lignes les plus reculées.
Augmentez de 1 bloc les bords.
Placez des panneaux vides.
Enfin, placez l’eau.
Surélevez les bords de 4 blocs.
Descendez les bords de 4 blocs pour faire un mur complet.
Nous pouvons donc commencer à creuser le fossé qui contiendra la lave. La TNT peut vous aider mais attention aux débordements. Il est très recommandé de faire ça avec WorldEdit si vous en avez la possibilité.
La profondeur de votre fossé dépendra de la longueur de votre plate-forme. Elle est équivalente au rayon de la plate-forme + 2. Attention, le rayon n’est pas équivalent à la moitié de la longueur, ce sera expliqué dans la partie redstone. Si votre plate-forme est de 5 de largeur et 17 de longueur comme dans ce tutoriel, la profondeur sera de 12 blocs.
Une fois que vous avez fini de creuser le fossé, répétez cela de l’autre côté de la plate-forme. Si vous êtes trop fainéant pour scroller, vous pouvez cliquer ici. Vous devriez vous retrouver avec ceci.
Pour éviter que les araignées ne s’accrochent aux murs de la plate-forme, nous allons les enlever. Reliez les deux fossés.
Pour que les araignées ne s’accrochent encore moins, vous pouvez placer des demi-dalles.
Complétez votre fossé en mettant de la lave. Si vous avez WorldEdit, vous pouvez ajouter de la profondeur à votre lac de lave, et le rendre uniforme (sans courant).
Il manque donc l’essentiel du punchmonster : les mobs ! Ils proviennent de spawners. Uniquement 4 mobs sont possibles : les cave spiders, les araignées normales, les zombies et les squelettes.
Les sorcières ne servent à rien étant donné qu’elles ne lancent que des potions de poison, ce qui ne vous endommage pas car vous avez régénération ; les endermen se téléporteront à cause de l’eau ; les creepers faciliteront le jeu au lieu de le rendre plus dur, car ils tueront les autres mobs ; les blazes sont endommagés par l’eau et peuvent donc être one-shot par des boules de neige ; les magma cube et slimes bougeront peu et auront extrêmement peu de chances de vous pousser dans la lave ; les silverfish seraient possibles mais trop durs ; les wither squelettes vous feront trop de dégâts ; enfin, les pigzombies sont quasiment impossibles à pousser dans le vide car ils sont très rapides.
Il est conseillé de ne mettre qu’un seul spawner d’araignées dans une configuration comme celle-ci. Nous aurons donc un spawner d’araignées, 4 de zombies et 3 de squelettes.
Profitez en pour connecter les deux murs.
Surélevez le mur d’un bloc.
Enfin, construisez le plafond. Votre punchmonster est presque prêt ; il ne reste à faire que le système redstone !
Le système redstone
Avant de faire le système redstone, il faut construire le spawn, ou lobby. Outre les règles et informations sur le punchmonster, celui-ci doit contenir au moins 3 entrées : une pour aller au punchmonster, une pour aller au shop et une pour retourner au spawn. Vous êtes totalement libre de faire le design du lobby comme vous le voulez.
La première chose que nous allons faire est de téléporter le joueur à la « salle de give » du punchmonster lorsqu’il va dans l’entrée « aller au punchmonster ». Tout d’abord, ce qu’il faut faire est relever les coordonnées de l’entrée.
Ensuite, il faut construire la « salle de give », qui est juste une salle où le joueur restera une demi-seconde maximum, il n’y a donc besoin que de faire une salle de 2 de hauteur et d’un de côté. Il est conseillé de la faire à 10-20 blocs du punchmonster.
Relevez les coordonnées de la « salle de give ». ATTENTION : Beaucoup de joueurs font cette erreur. Les coordonnées ne sont pas x 145 y 64 z -69 comme beaucoup pourraient le penser (même moi, lorsque je n’y prête pas attention) mais x 145 y 64 z –70 ! La raison de cela est similaire à celle pour laquelle 1550 se trouve dans le 16e siècle et non pas dans le 15ème. Lorsque vous êtes à z +10, le nombre est 10 : rien de spécial. Lorsque l’on est à z +0, le nombre est 0. Mais quand on est à z -0 ? Le nombre ne peut pas être -0, car pour le système, +0 = -0 (ce qui est vrai). Il enlève donc 1, et lorsqu’on est à z -0,5432 on est à z -1.
Les coordonnées sont donc 145 64 -70.
Voici donc la commande à mettre dans le command block relié à une horloge (ici à hoppers). À votre avis, quelles sont les valeurs de x, y et z que l’on doit mettre ? (référez vous aux coordonnées de l’entrée du punchmonster et ne regardez pas le texte en dessous de ce screen avant votre réponse)
Si vous avez répondu x 131 y 64 z -114, vous n’avez absolument pas retenu la leçon expliquée 2 screenshots plus tôt. Si vous avez répondu x 131 y 64 z -115, vous avez retenu la leçon mais avez toujours faux. Si vous avez répondu x 131 y 63 z -115, vous avez bien répondu et vous avez 20/20.
Pourquoi donc baisser le y de 1 ? À cause du rayon de 1. Nous voulons que, uniquement lorsqu’on entre dans l’entrée, pas avant, on soit téléporté vers la salle de give. Si on mettait y 64, le rayon de téléportation affecterait les joueurs qui seraient dans les blocs de verre rouge.
On voit que, si on n’entre pas dans l’entrée mais si on est 1 bloc devant, on est quand même téléporté. C’est pourquoi il faut baisser le y d’un bloc ; dans ce cas, on n’est téléporté que lorsqu’on est dans l’entrée.
« Pourquoi ne pas mettre le rayon à 0 ou tout simplement enlever le rayon », me diriez-vous ? Tout simplement parce que s’il n’y a pas de rayon, cela prend le joueur le plus proche de l’entrée ; vous seriez ainsi téléporté constamment vers la salle de give. Mettre le rayon à 0 revient à l’enlever.
Notre commande sera donc /tp @p[r=1,m=2,x=131,y=63,z=-115] 145 64 -70
Maintenant que le joueur peut être téléporté du lobby à la salle de give, il va falloir faire le système redstone. Commencez par un testfor pour savoir s’il y a un joueur dans les coordonnées de la salle de give, relié à une horloge à hoppers.
Reliez 3 autres command blocks au testfor. S’il y a un joueur dans la salle, ils seront activés. Rapidité oblige, nous n’allons pas relier ces 3 command blocks avec des repeaters, mais allons les activer quasiment en même temps. Pour déterminer l’ordre, mettez les commandes /tell @p 1, /tell @p 2 et /tell @p 3 sur les command blocks.
Le premier command block activé est toujours celui juste à côté du comparateur/repeater ; l’ordre des autres dépend de l’orientation. Ici, l’ordre est 2, 1, 3.
Pour le premier command block, nous allons mettre la commande permettant de remettre les scores du joueur à 0 lorsqu’il commence une partie. Pourquoi le remettre à 0 ? Pour la même raison que, si je fais un séjour d’une heure dans de l’eau à 0°C, cela n’est pas pareil que si je fais 6 séjours de 10 mn dans de l’eau à 0°C. La commande est /scoreboard players set @p[x=145,y=64,z=-70,r=1,m=2] punchmonster 0.
Avant ou après avoir mis ce command block, tapez la commande /scoreboard objectives create punchmonster dummy Punchmonster ; cela créera un objectif appelé punchmonster.
Ensuite, téléportez le joueur sur une extrémité de la plate-forme.
Il faut ensuite enlever les mobs ; si le joueur spawne sur une plateforme déjà pleine de mobs, il a perdu d’avance. Le 3ème command block va donc mettre la difficulté en peaceful.
Il faut mettre un 4ème command block, mais avec un délai minimum (sinon ça ne marchera pas), qui remettra la difficulté en easy (il est très déconseillé de la mettre en normal ou hard car dans ce cas les mobs vous tueront sur la plateforme).
Nous allons maintenant déterminer le rayon de la plateforme. Commencez par déterminer le milieu de la plateforme.
Placez vous sur le milieu et notez les coordonnées.
Il faut à présent trouver le rayon qui couvre l’intégralité de la plate-forme. La largeur doit être augmentée de 2 lors des tests, car un joueur peut parfois sortir de la plate-forme et y retourner. Pour trouver le rayon, nous allons faire un command block relié à une horloge qui envoie un message aux joueurs sur la plate-forme. Si vous recevez le message partout sur la plate-forme, le rayon est le bon.
Après quelques tests, nous avons découvert que le rayon est de 9. Vous pouvez à présent retirer le command block.
Nous allons maintenant connecter un command block à l’horloge qui vérifie s’il y a une personne dans le punchmonster ou non. Attention, le comparateur pointe vers l’horloge et non pas vers le command block.
Ensuite, il faut mettre une horloge reliée au command block de testfor, puis relier le command block de testfor à une autre horloge via un comparateur + inverseur, et relier cette autre horloge à 2 command blocks.
Explication du système : dans l’état actuel, l’horloge téléportant les joueurs au punchmonster est activée, et celle téléportant les joueurs au spawn est désactivée. Lorsqu’il y a un joueur dans le punchmonster, cela s’inverse, les joueurs ne peuvent plus être téléportés au punchmonster mais sont téléportés au spawn.
L’horloge reliée aux 2 command blocks va donc téléporter les joueurs dans la salle de give au spawn s’il y a déjà un joueur dans le punchmonster. Comme nous sommes gentils, nous allons leur dire pourquoi ils ne peuvent pas aller au punchmonster avec un beau /tellraw. Il est recommandé d’utiliser ce générateur de tellraw.
Après avoir reçu le message (et pleuré parce qu’ils devaient attendre), nous allons téléporter les joueurs.
Pour ne pas qu’un joueur ait un faux espoir en allant dans le punchmonster puis en se faisant refouler, nous allons placer un bloc de sandstone pour bloquer l’entrée. À quoi sert donc le message si les joueurs ne peuvent pas entrer ? En raison du délai (court, mais existant) des testfor et horloges, deux joueurs peuvent très bien aller dans le punchmonster en même temps ; avec ce système, l’un entrera et l’autre sera repoussé.
Comme il faudra bien un jour ou l’autre enlever ce bloc de sandstone, nous allons mettre un command block connecté à la torche de redstone qui remplace ce bloc par de l’air.
Votre système devrait ressembler à cela. Que font ces command blocks sur l’horloge en bas à droite ? Eh bien, si l’on teste le punchmonster dans l’état actuel, tout va bien : le joueur est téléporté et un autre joueur ne peut pas entrer en même temps. Sauf que, sans boules de neige, ni régénération, ni comptage de points, le jeu est un petit peu trop dur.
Dans un des command blocks (l’ordre n’importe pas car ces commandes ne dépendent pas d’une autre), nous allons faire le score. À chaque fois que l’horloge active ce command block, le score augmente de 1. La commande est /scoreboard players add @p[r=9,m=2,x=104,y=64,z=-73] punchmonster 1.
Nous allons ensuite donner un effet de régénération III tant que le joueur reste sur la plate-forme. Attention, autre erreur : les niveaux des potions sont augmentés de 1 par rapport à leur niveau dans le système (ne me demandez pas pourquoi, j’suis pas dev à mojang). Ainsi, mettre le niveau 0 mettra le niveau 1, mettre le niveau 1 mettra le niveau 2, etc.
En raison d’un bug permettant de gagner des points indéfiniment (que je ne révèlerai bien sûr pas), il est recommandé de mettre 11 10 4 au lieu de 10 10 2 si vous mettez ce punchmonster sur un serveur. Cela garantira l’invincibilité sur la plate-forme.
Nous allons ensuite giver des boules de neige au joueur. Mettez 16 et non pas 64 si votre serveur n’a pas essentials ou si vos joueurs n’ont pas la permission essentials.oversizedstacks.
À ce stade, votre punchmonster peut être testé, mais si vous n’avez pas Essentials et Multiverse, il reste quelques command blocks à ajouter. Tout d’abord, le give vanilla est différent du give essentials : le give vanilla fait apparaître des items juste devant vous alors que le give essentials les place directement dans votre inventaire. Quelle est la différence ? Lorsque votre inventaire est plein, vous vous retrouvez avec les items devant vous en give vanilla et pas en give essentials. Pour éviter de se retrouver avec plein de boules de neige sur la plate-forme, nous allons mettre un command block avec la commande /clear @p[r=9,m=2,x=104,y=64,z=-73] minecraft:snowball. Les command blocks cleareront et giveront juste après les boules de neige, afin que votre inventaire ne soit jamais plein. Si les boules de neige disparaissent juste après avoir été givées, inversez les command block de clear et de give.
Ensuite, il y a le problème de la faim. Avec Multiverse ou d’autres plugins, il est possible de désactiver la faim (avec Multiverse, il faut faire /mvm set hunger false). Pour le punchmonster, vous devrez donner au joueur un effet de saturation (id 23) afin de régénérer la faim. Vous pouvez également choisir de ne pas la régénérer et de rendre possible l’achat de nourriture dans votre shop.
Il y a une dernière chose qui manque : l’affichage des points ! Sur un petit serveur, il peut être affiché sur le côté avec /scoreboard objectives setdisplay sidebar punchmonster. Sur un grand serveur, il y aura trop de gens ; il faut donc l’afficher dans le menu tab avec /scoreboard objectives setdisplay sidebar punchmonster.
Vous pouvez désormais jouer à votre punchmonster !
C’est fini pour la première partie de ce tutoriel. Si vous avez des suggestions, améliorations ou corrections à faire, n’hésitez pas à les signaler dans les commentaires !
je gallerre un peu avec les testfor
mais sinon a quand la partie 2?
Bonjour,
Je suis débutante à Minecraft et en création de mini-jeux encore plus ! Quant à la red.. la red quoi ? Et pourtant… J’ai réussi à suivre ce tuto du début à la fin ! J’avoue avoir un peu galéré avec l’horloge car je ne connaissais pas le fonctionnement (bon en même temps le fonctionnement de la redstone m’est quasiment inconnu aussi à part pour faire une boussole ou une montre) et il m’a fallu un bon moment pour trouver à quoi correspondait cette fameuse horloge à hoppers ^^ mais j’ai fini par réussir. Mon puch monster fonctionne et c’est pour moi une grande victoire. Même si j’y ai laissé quelques plumes et beaucoup de café, j’ai appris beaucoup de choses grâce à ce tuto, donc merci beaucoup !
Cela fait maintenant deux mois que j’ai terminé et j’attends la suite avec impatience ! Alors ? dites ! dites ! c’est pour quand ???
Encore un grand bravo et merci pour ce tuto admirable !
Houlà ! Que d’explication ! Je sais pas si je vais réussir à le faire… Mais c’est pas grave ! J’vas quand même essayer ! (Par contre la partie redstone, moi qui suis absolument pas doué avec les commands block, ça va être dur !)
J’ai testé et ça enlève le rayon ^^
Article vraiment complet pour un système complexe, je dois donc te dire bravo Zezombye ! :D
Par contre, je voulais te signaler que lorsque l’on met un rayon de 0, cela ne revient pas à enlever le rayon, cela va simplement faire un rayon de 1 sur 1 :p
Voilà tout :)
Il n’y a pas de map déjà toute faite a télécharger ?
super jeu, la mise en place des commande block est un peu compliquer pour moi, mais j’aprouve le gamedesign.
Merci je vais voir ça^^
En 1.7, tu es obligé de faire du bloc par bloc. Il existe des filtres MCedit pour générer automatiquement les commandes avec des /setblock. En 1.8, il est possible de faire un rectangle avec /fill.
Une map assez compliquée.Je vois que t’ai pro des commands block aussi, et j’aurai besoin de ton aide: peut-on mettre un rectangle entier de blocs avec une seule commandes ou suis-je oblige de faire du bloc par bloc?