Programmera Minecraft med Python – Hjälpmedel och dokumentation
Koppla Python mot Minecraft
På denna sida samlar vid hjälpmedel för programmering i Minecraft med Python.
I nedan kodexempel så förutsätter vi att du har ”anslutit” till Minecraft enligt följande sätt:
from mcpi.minecraft import Minecraft mc = Minecraft.create()
Denna guide är en förenklad översättning. För att se hela API dokumentationen klicka här.
Användbara funktioner
Här följer några användbara funktioner med tillhörande kodexempel som du kan använda.
postToChat(meddelande)
Funktion för att skicka meddelande till chatten i Minecraft. Används t.ex. enligt:
mc.postToChat("Hej på dig")
Exemplet ovan skickar meddelandet ”Hej på dig” till chatten i Minecraft.
getTilePos()
Funktion för att hämta spelarens position. Används t.ex. enligt:
x, y, z = mc.player.getTilePos()
Exemplet ovan hämtar spelarens position och sparar x-koordinaten i variabeln x, y-koordinaten i variabeln y och z-koordinaten i variabeln z.
setBlock(x, y, z, block)
Funktion för att skapa block. Används t.ex. enligt:
mc.setBlock(100, 42, -175, 1)
Exemplet ovan skapar ett block av sten (block nr 1) på positionen där x = 100, y = 42 och z = -175.
setBlocks(x, y, z, x1, y1, z1, block)
Funktion för att skapa block flera block, från en position till en annan. Används t.ex. enligt:
x, y, z = mc.player.getTilePos() höjd = 5 bredd = 5 längd = 5 mc.setBlocks(x, y, z, x+längd, y+höjd, z+bredd, 1)
Exemplet ovan skapar en kub av sten (block nr 1) med storleken 5x5x5, på spelarens position.
Block
Varje block representeras av ett heltal. Det kan t.ex. användas på följande sätt:
sten = 1 mc.setBlock(x, y, z, sten)
Tillgängliga block
AIR | 0 |
STONE | 1 |
GRASS | 2 |
DIRT | 3 |
COBBLESTONE | 4 |
WOOD_PLANKS | 5 |
SAPLING | 6 |
BEDROCK | 7 |
WATER_FLOWING | 8 |
WATER | 8 |
WATER_STATIONARY | 9 |
LAVA_FLOWING | 10 |
LAVA | 10 |
LAVA_STATIONARY | 11 |
SAND | 12 |
GRAVEL | 13 |
GOLD_ORE | 14 |
IRON_ORE | 15 |
COAL_ORE | 16 |
WOOD | 17 |
LEAVES | 18 |
GLASS | 20 |
LAPIS_LAZULI_ORE | 21 |
LAPIS_LAZULI_BLOCK | 22 |
SANDSTONE | 24 |
BED | 26 |
COBWEB | 30 |
GRASS_TALL | 31 |
WOOL | 35 |
FLOWER_YELLOW | 37 |
FLOWER_CYAN | 38 |
MUSHROOM_BROWN | 39 |
MUSHROOM_RED | 40 |
GOLD_BLOCK | 41 |
IRON_BLOCK | 42 |
STONE_SLAB_DOUBLE | 43 |
STONE_SLAB | 44 |
BRICK_BLOCK | 45 |
TNT | 46 |
BOOKSHELF | 47 |
MOSS_STONE | 48 |
OBSIDIAN | 49 |
TORCH | 50 |
FIRE | 51 |
STAIRS_WOOD | 53 |
CHEST | 54 |
DIAMOND_ORE | 56 |
DIAMOND_BLOCK | 57 |
CRAFTING_TABLE | 58 |
FARMLAND | 60 |
FARMLAND_INACTIVE | 61 |
FARMLAND_INACTIVE | 61 |
FURNACE_ACTIVE | 62 |
DOOR_WOOD | 64 |
LADDER | 65 |
STAIRS_COBBLESTONE | 67 |
DOOR_IRON | 71 |
REDSTONE_ORE | 73 |
SNOW | 78 |
ICE | 79 |
SNOW_BLOCK | 80 |
CACTUS | 81 |
CLAY | 82 |
SUGAR_CANE | 83 |
FENCE | 85 |
GLOWSTONE_BLOCK | 89 |
BEDROCK_INVISIBLE | 95 |
STONE_BRICK | 98 |
GLASS_PANE | 102 |
MELON | 103 |
FENCE_GATE | 107 |
GLOWING_OBSIDIAN | 246 |
NETHER_REACTOR_CORE | 247 |
Data
För att skapa vissa block så vill man skicka med data. Exempelvis om man vill skapa en fackla (Torch) på en vägg.
fackla = 1 mc.setBlock(x, y, z, fackla, 2)
I exemplet ovan så skapas en fackla på positionen x, y, z, åt väst (west). Obs: viktigt att facklan har en vägg att fästas på.
1: Åt öst (east)
2: Åt väst (west)
3: Åt syd (south)
4: Åt norr (north)
5: Uppåt (kan också lämnas tom)