Skip to content
Switch branches/tags


Failed to load latest commit information.
Latest commit message
Commit time

McThings Build Status License Documentation Status PyPI version Twitter

A Python programming framework for building a 3D World of Scenes in Minecraft (Procedural CSG). Scenes are compositions of Things (Python objects), created and transformed in memory and rendered using the Raspberry PI Minecraft renderer implemented using the API (which also works in Minetest). This renderer is based on mcpi library. More renderers are planned. It follows the pipeline: create and transform in memory (model in memory) and then render.

This is the reference notebook with a complete sample. And there is a intro video tutorial and a more complete one.

A Thing is a built based on blocks (voxels based on cubes): Pyramid, River, House, Fence and may others. All the Things share the Thing API. A Thing can be decorated using existing decorators like LightDecorator or you can create your own one. A decorated house. Scenes can also be decorated like this sample with a railway (BorderDecorator) around a Scene.

And Things can also be rotated. For example, in this scene the castle is rotated 180 degrees so the portal is accessible from the town ways.

There is also a repository for experimental, incubating or with extra dependencies Things at McThings Extra.

A World is a list of Scenes placed in concrete positions. And a Scene is a list of Things built in a specific position and order. Scenes can be shared loading and saving them to files. Scenes can be also saved as Schematics and converted with Mineways to be used for 3D rendering and printing. You can share scenes adding them to this repository. And they can be interactive as in this app.

This scene includes a river, a house in each side of the river and a bridge for crossing the river.

A Scene in Minecraft

Things can be built using MinecraftDrawing. Sphere and Circle Things are used with Pyramids in the next scene:

Pyramids with Spheres

And Things can also be built from Schematics (there are thousands!). There is a sample notebook.

Schematic inside McThings

And Things can also be created from MagicaVoxel models.

MagicaVoxel model inside McThings

Minecraft and Minetest forums pages.