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å.

Fackla (Torch):
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)