Minecraft

In deze tutorial laat ik zien hoe je Minecraft op de Raspberry Pi installeert en uitvoert.

Het betreft hier een versie van Minecraft installeren die speciaal voor de Raspberry Pi is ontworpen. Deze versie van Minecraft heet ” Minecraft Pi Edition “. De versie is ouder dan de huidige release van Minecraft. Het heeft echter één voordeel en dat is dat het helemaal gratis is. Een ander voordeel is dat deze versie van Minecraft wordt geleverd met een Python-bibliotheek waarmee je kunt communiceren met de gamewereld.

Er zijn een paar dingen die u moet weten over deze versie van Minecraft die speciaal voor de Raspberry Pi is gebouwd.

  1. Het gebruikt het oude spelwereld formaat, wat betekent dat de wereld een maximale grootte heeft van 256 x 256 x 128 blokken.
  2. De spelmodus is alleen creatief, je kunt dus niet knutselen in deze versie van Minecraft
  3. Er zijn geen mobs in deze versie

Ondanks deze nadelen is dit nog steeds een interessante versie van Minecraft om uit te proberen op je Raspberry Pi. Het is ook een geweldige manier om programmeren te verkennen door de interactie met de gamewereld met behulp van Python.

Minecraft installeren
In dit gedeelte laat ik zien hoe je de Minecraft Pi-editie op de Raspberry Pi installeert.

  1. Gelukkig voor ons is Minecraft Pi Edition beschikbaar gemaakt in de Raspbian-pakket repository. Het eerste dat we moeten doen, is alle bestaande pakketten bijwerken en upgraden door de onderstaande opdracht uit te voeren.

  2. sudo apt update
    sudo apt upgrade
  3. Nadat de pakketten zijn bijgewerkt, kunnen we nu doorgaan met deze handleiding. Voer de volgende opdracht uit om Minecraft Pi Edition op uw Raspberry Pi te installeren.
    sudo apt install minecraft-pi
    Deze opdracht installeert zowel Minecraft- als de Python-bibliotheken die nodig zijn om ermee te werken.

Minecraft uitvoeren
Het uitvoeren van Minecraft Pi Edition op de Raspberry Pi is een eenvoudig proces.
1. Om Minecraft te starten, ga je in de desktop naar het Raspberry Pi-pictogram in de linkerbovenhoek.

2. Vervolgens ga je naar het submenu ” Games ” en vervolgens naar ” Minecraft Pi “.

3. Nu zou Minecraft Pi Edition op je Raspberry Pi moeten laden. Om een spel te starten, hoef je alleen maar op de knop ” Game starten ” te drukken.

4. In het volgende menu moet je je eerste wereld creëren met de knop “Create new“.

Zodra de nieuwe wereld om te spelen wordt gegenereerd, wordt het personage van de speler in de virtuele wereld geplaatst. De standaardweergave in het spel is de first-person-weergave. Het ziet er als volgt uit:

In de volgende sectie van deze tutorial laat ik zien hoe je Python kunt gebruiken om de spelwereld te manipuleren.

Interactie met Minecraft via Python
Een van de coolste functies van Minecraft Pi Edition is de ingebouwde API.
In deze sectie laat ik zien hoe je Python kan gebruiken om te communiceren met Minecraft Pi Edition. Als je Python beter wilt begrijpen voordat je verder gaat, bekijk dan zeker de uitleg over Python.

  1. Laten we beginnen met het maken van een vrij eenvoudig Python-script. Binnen dit script gaan we een bericht sturen naar de actieve Minecraft-client. Met behulp van de terminal kunnen we beginnen met het schrijven van ons Python-script door de volgende opdracht uit te voeren.
    nano minecraft.py
    We gebruiken de nano-teksteditor om de code te schrijven. Je kan echter gerust een andere code-editor gebruiken, zoals MobaXterm of Visual Studio Code.
  2. Om dit script te starten, moeten we eerst de Minecraft Python-bibliotheek importeren. Deze bibliotheek gebruiken we om te communiceren met de gameclient. Voeg de volgende regel toe om de module uit de mcpi-bibliotheek te importeren:
    from mcpi import minecraft
  3. Met de geïmporteerde module moeten we een verbinding maken met de gameclient. We doen dit door de minecraft bibliothekenfunctie Minecraft.create() te gebruiken en het resultaat op te slaan in een variabele met de naam “mc“.
    mc = minecraft.Minecraft.create()
  4. Met behulp van het object dat we in onze mc-variabele hebben opgeslagen, kunnen we de gameclient aanroepen. De functie die we voor ons voorbeeld gaan gebruiken, is de .postToChat(“TEXT HERE”) functie.
    Met deze functie kunnen we tekst in de chat plaatsen.
    mc.postToChat("Hello World")
    Dit stukje code is een van de eenvoudigste manieren om met Minecraft op je Raspberry Pi te communiceren.
  5. De definitieve versie van uw code zou er uiteindelijk precies zo uit moeten zien als wat we hieronder hebben.
    from mcpi import minecraft
    mc = minecraft.Minecraft.create()
    mc.postToChat("Hello World")

    Nadat de code is ingevoerd, slaat u het bestand op door op CTRL+ X en vervolgens “Y” op te drukken [ENTER].
  6. Laten we doorgaan en nu ons kleine Python-script uitvoeren.
    python3 minecraft.py
    Nadat je het script hebt uitgevoerd, zou je de tekst ” Hallo wereld ” in het spel moeten zien verschijnen.

Verschillende functies van de Minecraft Python API
In deze sectie zullen we enkele van de functies onderzoeken die je kan gebruiken om te communiceren met Minecraft vanaf de Raspberry Pi.

Vind de positie van de speler
Met behulp van de Minecraft Python API kunnen we de x- , y- en z- positie van de speler ophalen. Om de locatie te vinden, kunnen we de volgende regel in Python gebruiken.

pos = mc.player.getPos()

De pos-variabele zal nu de positie van de speler opslaan. Je kan toegang krijgen tot de drie posities door pos.x, pos.y, en te gebruiken pos.z.

Als je de posities liever als drie afzonderlijke variabelen wilt opslaan, dan is het ook mogelijk om dat als volgt te doen.

z, y, z = mc.player.getPos()

Deze methode maakt gebruik van de uitpakfunctionaliteit van Pythons om de waarden naar onze x, y, en z variabelen te halen.

De speler teleporteren
Je kunt spelers ook teleporteren door gebruik te maken van de API. Om dit te doen, zullen we gebruik maken van de player.setPos(x, y, z) functie.

Hieronder kun je zien hoe we zowel de functies .setPos(x, y, z) en gebruiken .getPos() om de speler met 50 blokken verticaal in de spelwereld te teleporteren.

x, y, z = mc.player.getPos()

mc.player.setPos(x, y+50, z)

Nadat je een script met deze twee functies hebt uitgevoerd, zou je de speler in de lucht moeten zien verschijnen en vervolgens terug op de grond vallen.

Een blokkering instellen
De API heeft ook de functionaliteit om blokken in de spelwereld te manipuleren.
Om dit te doen, moet u gebruik maken van de mc.setBlock(x, y, z, blockID) functie.
Met deze functie kunt u een blok op de opgegeven positie wijzigen in het blok dat u opgeeft.
Aan de hand van dit voorbeeld kunnen we de volgende code gebruiken om een steenblok op één x-positie van de huidige positie van de speler te plaatsen.

x, y, z = mc.player.getPos()

mc.setBlock(x+1, y, z, 1)

Nadat je deze code hebt uitgevoerd, zou je een stenen blok moeten zien verschijnen. Mogelijk moet u de camera ronddraaien om het te zien.

Als je geïnteresseerd bent in de verschillende blok-ID’s die je kunt gebruiken, scroll dan verder naar beneden, want we hebben alle blokken weergegeven die worden ondersteund in de Minecraft Pi-editie.

Meerdere blokken instellen
Het is ook mogelijk om meerdere blokken tegelijk in te stellen door gebruik te maken van de mc.setBlocks(x0, y0, z0, x1, y1, z1, blockID) functie.

Deze functie neemt zes verschillende argumenten voor de posities in. De eerste set posities ( x0, y0, en z0) definiëren het startpunt van het gebied. De tweede set posities ( x1, y1, z1) definieert het eindpunt van het gebied.

Met deze functie kunt u een gebied instellen op een specifiek bloktype, bijvoorbeeld om een gigantische stenen kubus te maken.

In het onderstaande voorbeeld laten we u zien hoe u een 5x5x5 stenen kubus kunt maken met behulp van de mc.setBlocks() functie.

x, y, z = mc.player.getPos()

mc.setBlocks(x+1, y+1, z+1, x+6, y+6, z+6, 1)

Nadat je deze twee regels code hebt uitgevoerd, zou je een gigantische stenen kubus in de buurt van de speler moeten zien verschijnen.

Deze API-functie is geweldig als je snel grote objecten wilt maken.

De ID van een blok ophalen
Net zoals je een blok kunt instellen, kun je ook de ID van een blok op een specifieke positie opvragen.
Hiervoor kunt u gebruik maken van de .getBlock(x, y, z)functie. Deze functie haalt de ID van het blok op de opgegeven positie op.
U kunt deze functie bijvoorbeeld gebruiken om te controleren op welk blok de speler momenteel staat.

x, y, z = mc.player.getPos()

blockID = mc.getBlock(x, y-1, z)

print(blockID)

Deze functie kan erg handig zijn, omdat je gedrag kunt programmeren op basis van het blok waarop de speler staat.


Minecraft Pi-editie Blok-ID’s
Hieronder zie je een lijst met de ID’s van de beschikbare blokken in Minecraft Pi Edition.

Constante naamBlok-ID
LUCHT0
STEEN1
GRAS2
AARDE3
KASSESTEEN4
HOUTEN PLANKEN5
JONGE BOOM6
BEDROCK7
WATER_VLOEIEND8
WATER8
WATER_STATIONARY9
LAVA_FLOWING10
LAVA10
LAVA_STATIONARY11
ZAND12
GRIND13
GOUD ERTS14
IJZERERTS15
STEENKOOL16
HOUT17
BLADEREN18
GLAS20
LAPIS_LAZULI_ORE21
LAPIS_LAZULI_BLOCK22
ZANDSTEEN24
BED26
SPINNEWEB30
GRASS_TALL31
WOL35
BLOEM_GEEL37
FLOWER_CYAN38
PADDESTOEL_BROWN39
PADDESTOEL_RED40
GOLD_BLOCK41
IRON_BLOCK42
STONE_SLAB_DOUBLE43
STONE_SLAB44
BRICK_BLOCK45
TNT46
BOEKENPLANK47
MOS STEEN48
OBSIDIAAN49
FAKKEL50
VUUR51
STAIRS_WOOD53
BORST54
DIAMOND_ORE56
DIAMOND_BLOCK57
WERKTAFEL58
LANDBOUW60
FARMLAND_INACTIVE61
FARMLAND_INACTIVE61
FURNACE_ACTIVE62
DOOR_WOOD64
LADDER65
STAIRS_COBBLESTON67
DOOR_IRON71
REDSTONE_ORE73
SNEEUW78
IJS79
SNOW_BLOCK80
CACTUS81
KLEI82
SUIKERSTOK83
SCHUTTING85
GLOWSTONE_BLOCK89
BEDROCK_INVISIBLE95
STEEN98
GLASS_PANE102
MELOEN103
HEK POORT107
GLOWING_OBSIDIAN246
NETHER_REACTOR_CORE247

Hopelijk heb je op dit punt in de tutorial Minecraft nu met succes op je Raspberry Pi geïnstalleerd. Waarschijnlijk begrijp je nu ook hoe je gebruik kunt maken van de Python API die beschikbaar is voor Minecraft Pi Edition.

Have A Nice Day!