Python coding for Minecraft (5 / 17 steg)
Steg 5: Komma igång programmering Minecraft i python
Det enklaste sättet att komma igång programmering Minecraft i python är att börja med en av de enklare exempelskript. Jag rekommenderar att göra en genväg på skrivbordet till mappen scripts (%appdata%\.minecraft\mcpipy för 1.8) eller %appdata%\.minecraft\mcpimods\python för 1.7.10.
I katalogen skript du kanna rätt klick på någon skriften och du bör ha ett Redigera med IDLE alternativ. En rolig skript för att ändra är mitt vattenfyllda donut manus (donut.py). Till exempel, ändra vatten till gräs i den andra sista raden att göra en dum gräs-fylld munk. Du kan köra detta med /python donut från Minecraft eller bara genom att trycka på F5 i IDLE.
Eller för att göra ett enkelt nya skript, skapa en helloworld.py fil med din favorit texteditor (även anteckningar) i katalogen skript. Sätta på toppen:
från mc import *
Detta importerar nödvändiga bibliotek koden. Det importerar också praktiskt alla funktioner från den matematiska biblioteket samt namn för alla block. Ansluta till Minecraft med:
MC = Minecraft()
Du kan sedan skicka ett "Hello world!" meddelande till användaren med:
mc.postToChat ("Hello world!")
Om du vill skapa en diamant block rakt under spelaren, kan du också göra:
playerPos = mc.player.getPos()
mc.setBlock(playerPos.x,playerPos.y-1,playerPos.z,DIAMOND_ORE)
Koordinaterna för setBlock() och getPos() mäts från spelarens spawn punkt (vilket är således (0,0,0)).
(För en lista över alla block namn än DIAMOND_ORE, se mcpi\block.py i mappen scripts. Du kan också direkt använda Minecraft block nummer.)
För att köra skriptet, spara den och skriva /python helloworld i din Minecraft världen och tryck enter.
Det är ibland användbart att ange en helt rektangulär prisma block samtidigt: Använd mc.setBlocks(). Exempelvis drar detta utdrag ur mitt mengersponge.py manus en 81 x 81 kub på spelare position (de script sedan rekursivt ta bort--dvs ersätter med luft--subblocks bildar fraktal bild i skärmdumpen):
längd = 3 * 3 * 3 * 3
mc.setBlocks (playerPos.x,playerPos.y,playerPos.z,
playerPos.x+length-1,playerPos.y+length-1,playerPos.z+length-1, WOOL_PURPLE)
Teknisk not: med från mc import * importerar en massa saker (Minecraft, block definitioner, enhet definitioner, matematik) rätt till våra namnområde. Detta är praktiskt för att fokusera på väsentligen för nybörjare (kom ihåg att jag kommer att använda detta för att lära kodning till nybörjare). Mer avancerade användare kanske föredrar att vara mer pythonic genom att hålla namnområdena separat och sättande i huvudet:
importera mcpi.minecraft som minecraft
importera mcpi.block som blocket
importera mcpi.entity som enhet
importera matematik
och sedan börjar med mc = minecraft. Minecraft() eller ens mc = minecraft. Minecraft.Create(), refererar till block som block. DIAMOND_ORE, etc.