Comment créer une pyramide dans Minecraft avec Python

Comment créer une pyramide dans Minecraft avec Python

L’avantage de Minecraft sur Raspberry Pi est que vous écrivez des scripts Python pour manipuler le monde du jeu. Cela ouvre de nombreuses possibilités créatives. Cela peut également rendre Python beaucoup plus attrayant pour les programmeurs en herbe.

Dans ce tutoriel, je veux expliquer comment créer une pyramide à l’aide de Minecraft.

Voici un exemple de pyramide à 10 niveaux avec un bloc dessus :

Pyramides Minecraft sur le Pi

En créant une fonction Python pour créer la pyramide, nous pouvons facilement créer un ensemble de pyramides de différentes tailles à des emplacements spécifiques. Mon objectif était de créer le célèbre Pyramides de Gizeh sans avoir à utiliser un seul esclave ou une seule pièce d’ancienne technologie extraterrestre.

Installer

Pour utiliser le script ci-dessous, vous devez disposer de Minecraft et de la configuration de l’API Python. Dans la dernière image Raspbian, Minecraft et l’API sont déjà configurés, vous plongez donc directement dans le plaisir.

La fonction de constructeur de pyramide

Voici la fonction Python que j’ai utilisée pour construire la pyramide :

def CreatePyramid(posx,posy,posz,width,mybase,mywalls,mytopblock):
  # Function to create a pyramid at x,y,z
  # with specified width using the specified
  # block materials for the base, walls and top.
  mc.postToChat("About to create pyramid!")
  # May sure width is odd number so pyramid ends
  # with a single block
  if width%2==0:
    width=width+1
  height = (width+1)/2
  halfsize = int(math.floor(width/2))
  print "Player : {} {} {}".format(posx,posy,posz)
  print "Size : {} Height : {} Halfsize : {}".format(width,height,halfsize)
  # Create base for pyramid
  print "Create solid base"
  mc.setBlocks(posx-halfsize-2,posy-2,posz-halfsize-2,posx+halfsize+2,posy-2,posz+halfsize+2,DIRT)
  mc.setBlocks(posx-halfsize-2,posy-1,posz-halfsize-2,posx+halfsize+2,posy-1,posz+halfsize+2,mybase)      
  # Create solid Pyramid
  print "Create Pyramid"
  for y in range(posy,posy+height):
    mc.setBlocks(posx-halfsize,y,posz-halfsize,posx+halfsize,y,posz+halfsize,mywalls)
    halfsize = halfsize-1
  # Change top block
  print "Set top block"
  mc.setBlock(posx,posy+height-1,posz,mytopblock)  
  print "Position player on top"
  mc.player.setPos(posx,posy+height,posz)

La fonction CreatePyramid prend certains arguments. Ceux-ci sont :

  • Poste (posx, posy, posz)
  • Largeur (en blocs)
  • Matériaux (mybase,mywalls,mytopblock)

L’exemple de script complet peut être téléchargé directement sur votre Pi en utilisant :

wget https://bitbucket.org/MattHawkinsUK/rpispy-misc/raw/master/minecraft/pyramids.py

Le scénario :

  • Importe la bibliothèque API Minecraft
  • Définit la fonction « Créer une pyramide »
  • Appelle la fonction plusieurs fois pour créer un ensemble de pyramides de différentes tailles

Avec Minecraft en cours d’exécution, vous pouvez exécuter le script Python dans une fenêtre de terminal en utilisant :

python pyramids.py

Les scripts ne prennent pas longtemps, mais la mise à jour de Minecraft peut prendre environ 30 à 60 secondes. Voici le résultat :

Pyramides Minecraft sur le Pi

Une fois que vous avez construit votre complexe Pyramid, vous pouvez réfléchir à la manière de le modifier. Il y a beaucoup de place pour sculpter des portes et construire des passages secrets !

Pyramides Minecraft sur le Pi

J’ai renoncé à une recréation précise du complexe de Gizeh car avec la distance de dessin sur la version Pi de Minecraft, vous ne pouvez pas vraiment tout intégrer sans rendre les pyramides assez petites.

Pyramides Minecraft sur le Pi

Dans mon scénario, les pyramides sont surmontées d’un bloc d’or. Vous pouvez changer ceci ou la base de la pyramide et les blocs muraux en un autre type. Jetez un œil à ma référence d’identification de bloc Minecraft pour des idées.

Pyramides Minecraft sur le Pi
En modifiant les paramètres passés à la fonction “Créer une pyramide” à la fin du script, vous pouvez modifier la taille et la position des pyramides. En ajoutant ou en supprimant des appels à la fonction, vous pouvez ajuster le nombre construit.

Et ensuite

Une fois que vous pouvez construire une pyramide, vous pouvez cacher un objet dans un objet aléatoire et voir combien de temps il faut pour le trouver. Peut-être pourriez-vous ajuster la fonction pour ajouter automatiquement des tunnels sous les pyramides et créer un réseau secret ?