Je weet nu hoe je blokken plaast, laten we nu lopend blokken plaatsen.
De onderstaande code plaatst een bloem achter je terwijl je loopt:
from mcpi.minecraft import Minecraft from time import sleep mc = Minecraft.create() bloem = 38 while True: x, y, z = mc.player.getPos() mc.setBlock(x, y, z, bloem) sleep(0.1)
Loop een tijdje naar voren en kijk dan achterom naar de bloemen achter je.
Omdat we while True
hebben gebruikt, zal dit voor altijd doorgaan. Om het te stoppen, druk op Ctrl + C
in Python.
Probeer maar eens in de lucht te lopen en kijk naar de bloemen in de lucht.
Wat nou als we alleen bloemen willen plaatsen op gras? We kunnen getBlock
gebruiken om te kijken welk soort een blok is:
x, y, z = mc.player.getPos() # Je krijgt de locatie van de speler (x, y, z) dit_blok = mc.getBlock(x, y, z) # Je krijgt het block ID print(dit_blok)
Dit vertelt je in welk blok je staat (en dat is 0
voor lucht).
Nu willen we weten op welk blok we staan. Hiervoor moeten we 1 aftrekken van de y
waarde en getBlock()
gebruiken we om te bepalen op wat voor blok we staan:
x, y, z = mc.player.getpos() # player position (x, y, z) blok_onder = mc.getBlock(x, y-1, z) # block ID print(blok_onder)
Dit geeft ons de ID van het blok waarop we staan.
Dit kunnen we testen door een lus (loop) te gebruiken om het blok ID te printen van het blok waar je op dat moment op staat:
while True: x, y, z = mc.player.getPos() blok_onder = mc.getBlock(x, y-1, z) print(blok_onder)
We kunnen nu ook if
gebruiken om te kiezen of we wel of niet een bloem plaatsen:
grass = 2 bloem = 38 while True: x, y, z = mc.player.getPos() # player position (x, y, z) blok_onder = mc.getBlock(x, y-1, z) # block ID if blok_onder == grass: mc.setBlock(x, y, z, bloem) sleep(0.1)
Misschien kunnen we ook, als een blok geen gras is, het veranderen in gras:
if blok_onder == grass: mc.setBlock(x, y, z, flower) else: mc.setBlock(x, y-1, z, grass)
Nu kunnen we vooruit lopen en als een blok gras is wordt er een bloem neergezet. Als het volgende blok geen gras is wordt het in gras veranderd. Als we omdraaien en achteruit lopen wordt er een bloem neergezet.
Het is tijd om naar de volgende les te gaan: Berichten of chatten