Minecraft Blocks Cheatsheet
There are a huge number of block types available to build through the Python API.
Example
Typically you use the upper case block name and id in the call to setBlock
but
there's nothing stopping you from using the plain integer value.
import mcpi.minecraft as minecraft
import mcpi.block as block
world = minecraft.Minecraft.create()
stone_id = 1
world.setBlock(x, y, z, stone_id)
world.setBlock(x, y, z, block.STONE.id)
Special Blocks
Some special blocks support extra attributes in the final argument to
setBlock
. Wool, for example, supports a colour value.
ID | Colour == | ====== 0 | White 1 | Orange 2 | Magenta 3 | Light Blue 4 | Yellow
So I can make a lovely block of orange wool like this:
mc.setBlock(x, y, z, block.WOOL, 1)
Block Types
Material | ID |
---|---|
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 |
FURNACE_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 |
There are a few others but they are not called out in the API as block ids. There is a more comprehensive guide to blocks and optional attributes.
Bigger building
Rather than building structures block by block, you can use a similar call to build
a cuboid given two sets of coordinates and a block type. setBlocks
fills in
the volume between the two 3D points with blocks of the right type.
height = 10
width = 5
length = 15
world.setBlocks(x, y, z, x + length, y + height, z + width, block.STONE.id)
House Full of Hollow
To create a hollow structure, like a house, you can create a large block of stone, then adjust the coordinates and re-fill that volume with AIR.
height = 10
width = 5
length = 15
wall_thickness = 1
world.setBlocks(x, y, z, x + length, y + height, z + width, block.STONE.id)
world.setBlocks(x + wall_thickness, y, z + wall_thickness,
x + length - wall_thickness, y + height, z + width - wall_thickness,
block.AIR.id)