Cet article fait partie d’une sĂ©rie servant Ă enseigner l’art du dĂ©veloppement sur Minecraft. Vous pourrez retrouver l’introduction et le sommaire en cliquant ici.
Suite aux 3 premiers cours, vous devriez dĂ©jĂ ĂȘtre capable de rĂ©aliser un bon nombre de systĂšmes. Pour bien assimiler les notions vu jusqu’ici, nous vous proposons un premier entraĂźnement qui va faire appel Ă la plupart des connaissances apprises. A chaque entraĂźnement, vous disposerez de 3 niveaux:
- DĂ©butant: si vous … dĂ©butez, les exercices sont trĂšs simples et trĂšs guidĂ©s, n’admettent gĂ©nĂ©ralement qu’une seule solution qui est clairement explicitĂ©. Ils font d’avantage appel aux connaissances qu’a la rĂ©flexion.
- IntermĂ©diaire: si vous trouvez le premier trop simple, vous pouvez vous attaquer Ă ce niveau, qui vous demander de raisonner un peu plus en utilisant ce que vous connaissez. Vous disposerez Ă©galement d’une ou plusieurs aides, mais pas de correction car les problĂšmes de ce niveau commencent Ă avoir une multitude de solutions. Vous donner une correction impliquerait de vous conseiller une façon de penser, ce qui n’est pas l’objectif. Si vous souhaitez faire valider votre systĂšme, envoyez le via un lien dans l’espace commentaire ou partagez-le nous sur notre Discord.
- Expert: si vous ĂȘtes dĂ©jĂ Mapmaker, nous vous proposons quelques exercices qui peuvent mettre votre cerveau Ă Ă©bullition. Vous devrez exploiter certaines mĂ©caniques particuliĂšre des commandes, demandant ainsi de raisonner en profondeur avec une parfaite maĂźtrise des commandes. Pour certains des problĂšmes, vous aurez la possibilitĂ© de vous aider (lorsque ce sera indiquĂ©) de la Gunivers-Lib, qui rĂ©soudra une partie du problĂšme. Vous n’aurez pas d’aide supplĂ©mentaire ni de correction. Si vous souhaitez vraiment montrer que vous ĂȘtes le patron, vous devrez vous dĂ©brouiller pour recrĂ©er les outils que cette Lib vous offre ;)
Débutant: Créer un radar
Vous sentez-vous dâattaque Ă crĂ©er un radar Ă ennemis de toute piĂšce ? Si oui, tant mieux. Si non, on va le faire quand mĂȘme. On va donc crĂ©er notre premier systĂšme qui permettra dâafficher les entitĂ©s autres que vous dans un certain rayon autour des radars que vous placerez sur votre map. Pour lâinstant, ce dernier sera assez rudimentaire mais nous Ă©tofferons ses capacitĂ©s au fur et Ă mesure du guide ! Votre petit radar deviendra une vrai forteresse armĂ©e jusque aux dents, vous verrez ;)
Bon, concrĂštement, le systĂšme derriĂšre devrait ressembler à ça :Jusque ici ça ne fait pas vraiment rĂȘver, nous vous lâaccordons, mais ce nâest pas lâapparence – ni la taille – qui compte !
Objectif
Vous aurez alors 4 objectifs qui nécessiteront 3 commandes :
- Faire un sublime et majestueux bruit de radar (vous savez, le âbip ⊠bip ⊠bipâ que font les sous-marin).
- Faire apparaĂźtre toutes les entitĂ©s (sauf vous) qui sâapprochent du radar (~30 blocs).
- Donner un effet de poison aux inconscients qui sâapprochent un peu trop prĂšs (~5 blocs).
- Le radar sera caractĂ©risĂ© par un armor-stand nommĂ© âRadarâ permettant ainsi dâen poser autant que lâon veut.
Essayez dĂšs maintenant de rĂ©aliser ce systĂšme. Si vous nây parvenez pas, continuez Ă lire, nous nâallons pas vous abandonner, pas dâinquiĂ©tude !
Aide
Dans le premier command-block, nous allons commencer par faire le bruit du radar. Pour cela, le systĂšme de redstone va activer les command-blocks environ une fois par seconde (9 ticks redstone pour ĂȘtre exact. Contrairement au tick minecraft, 1 tick redstone = 0.1 seconde). Vous devrez alors Ă©crire une commande dans le premier command-block permettant de produire ce son. Rappelez-vous, il doit partir dâune armor-stand nommĂ©e âRadarâ, il va donc falloir vous souvenir du cours sur les â/executeâ et prendre connaissance des diffĂ©rentes commandes qui existent prĂ©sentes sur la page Gamepedia.
Dans le deuxiĂšme command-block, vous ferez de mĂȘme, mais cette fois-ci, le â/executeâ ne fera pas un â/playsoundâ mais un â/effectâ afin de donner lâeffet de surbrillance aux entitĂ©s qui sâapprochent. Mais attention, cette effet ne doit pas vous ĂȘtre donnĂ© ! Si vous ne savez pas comment restreindre les cibles, nous vous invitons Ă relire le chapitre portant sur les Blocs et EntitĂ©s. Enfin dans le dernier command-block, vous devrez donner lâeffet de poison. Cette fois-ci, câest rigoureusement la mĂȘme chose, mais avec une distance diffĂ©rente.
Correction
Vous devriez normalement avoir quelque chose de similaire Ă ces 3 commandes dans vos command-blocks :
Commande | Description |
execute at @e[type=armor_stand,name=Radar] run playsound minecraft:block.note_block.chime block @a[distance=..30] ~ ~ ~ 2 1 1 | Créé le bruit du radar |
execute at @e[type=armor_stand,name=Radar] run effect give @e[name=!VotrePseudo,distance=..30] glowing 1 1 true | Donne lâeffet de surbrillance |
execute at @e[type=armor_stand,name=Radar] run effect give @e[name=!VotrePseudo,distance=..5] poison 1 1 true | Donne lâeffet de poison |
Si vous nâavez pas rĂ©ussi, pas dâinquiĂ©tude ! Relisez tranquillement les chapitres qui vous ont un peu fait dĂ©faut lors de ce petit exercice. ;)
Intermédiaire: Mines antipersonnel
Un radar c’est bien, mais ce n’est pas assez explosif ! Nous allons donc maintenant nous attaquer Ă la crĂ©ation de mines antipersonnel.
Objectifs:
- Pouvoir crĂ©er une mine en posant un porte-armure invisible renommĂ©e âMineâ
- Cette mine ne doit ĂȘtre activĂ© que si un bloc de TNT est prĂ©sent en dessous (Ă la façon dâune plaque de pression)
- Lorsque vous vous approcherez de la mine, celle-ci émettra un bip pour vous alerter et vous éviter de marcher sur vos propres mines.
- Au moment de placer la mine, un fil doit se poser, permettant dâentrevoir le prĂ©sence de la mine
- Lorsquâun joueur passe dessus, la mine fait exploser la TNT prĂ©sente en dessous
Essayez dĂšs maintenant de rĂ©aliser ce systĂšme. Si vous nây parvenez pas, continuez Ă lire, nous nâallons pas vous abandonner, pas dâinquiĂ©tude !
Aide 1
Afin de rendre le porte armure parfaitement invisible et que les joueurs ne puissent pas le casser en le frappant, vous devrez modifier certaines propriĂ©tĂ©s du porte armure. Ces propriĂ©tĂ©s sont accessibles via la manipulations des NBT. Vu que nous nâavons pas encore vu comment faire ça, voici la commande exacte que vous devrez exĂ©cuter lors de la crĂ©ation du porte armure:
data modify entity @s {Invisible:1,Marker:1}
De la mĂȘme façon, lors de lâallumage de la TNT, vous devrez renseigner le NBT âFuseâ qui permettra de dĂ©terminer le temps entre lâactivation et lâexplosion.
Aide 2
Pour dĂ©tecter quâun joueur passe sur la mine, vous avez plusieurs solutions:
- dĂ©tecter la prĂ©sence dâune joueur dans un petit rayon
- dĂ©tecter la prĂ©sence dâun joueur entre deux coordonnĂ©es
- dĂ©tecter si le joueur passe au dessus dâun bloc donnĂ©
Dans un souci de prĂ©cision et d’optimisation du nombre de commandes, nous allons ici faire un cumul des solutions 1 et 3, ce qui donnerait quelque chose comme ça:
execute at @e[type=armor_stand,name=Mine] at @a[distance=..1] if block ~ ~-2 ~ tnt run âŠ
Une commande complexe ! Ou pas ?
Regardons cette commande Ă©tape par Ă©tape et traduisons lĂ en français. Ăa nous donnerait: âexĂ©cuter, Ă lâendroit oĂč se trouvent les portes armure qui s’appellent âMineâ, lâinstruction suivante: exĂ©cuter Ă lâendroit oĂč se trouvent les joueurs qui sont Ă moins dâun bloc de distance, si le bloc prĂ©sent deux blocs en dessous est une TNT, l’instruction suivante: âŠâ
Si ce nâest toujours pas trĂšs clair, câest parce que, malgrĂ© l’intĂ©gration d’une syntaxe correcte Ă notre instruction, nous nâavons pas modifiĂ© lâordre des informations, qui, en français, est inversĂ©. Dans notre cas, la phrase donnerait: âexĂ©cuter sur le joueur Ă moins dâun bloc de distance dâun porte armure nommĂ©e âMineâ, uniquement si il y a un bloc de TNT deux blocs en dessous de lui âŠâ
Expert: Tourelle automatique
Bon, mĂȘme si on a notre dose dâexplosions, les mines ça reste peu efficace comme dĂ©fense car on peut facilement les Ă©viter. Que dites-vous de faire une tourelle automatique ?
Objectif:
- Placer une tourelle automatique en posant un porte armure nommĂ©e âturretâ.
- Cette tourelle ne doit fonctionner que si elle est placé sur un beacon.
- Le porte armure doit ĂȘtre visible avec une tĂȘte de dragon qui servira Ă indiquer oĂč la tourelle vise.
- Elle devra cibler les joueurs s’approchant Ă 30 blocs, les alerter par un son et en mettant la tourelle en glowing.
- IMPORTANT : La tourelle ne doit pas détecter un joueur si ce dernier est caché par un bloc !
Indication:
Vous aurez la possibilité de réaliser ce systÚme de deux façon différentes:
- Par vos propres moyens (vous n’utiliserez aucun outil, vous partirez de 0). Indication: pour Ă©viter d’avoir des fonctions complexes, nous jouerons ici avec les coordonnĂ©es locales.
- Utiliser les outils outils “can_see”, “get_vector_as_to_at” et “vector_to_motion” de la Gunivers-Lib. Cette solution, bien plus simple et rapide Ă mettre en Ćuvre que la premiĂšre aura pour avantage d’ĂȘtre plus prĂ©cise et modulable, mais ne vous permettra pas de ben saisir tout ce que nous avons Ă©voquĂ©. Ainsi, nous vous recommandons de rĂ©aliser la premiĂšre solution avant de vous essayez Ă celle-ci.
Â
Merci beaucoup !
A vrai dire, ces exercices sont fait pour justement montrer que le dĂ©veloppement dans Minecraft n’a rien de rĂ©ellement compliquĂ©. Leur rĂ©alisation fait avant tout appel Ă un raisonnement qui doit ĂȘtre appliquĂ© en amont (sans mĂȘme penser aux commandes Ă utiliser ou a n’importe quoi d’autre, juste faire une liste des Ă©tapes, comme une recette de cuisine). Le plus compliquĂ© est de connaitre les diffĂ©rentes commandes et leur syntaxe, mais aprĂšs ça, une fois que l’idĂ©e est lĂ , la rĂ©alisation est facile.
Sacré challenge ! Sympa comme article ^^