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.
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.
And Things can also be created from MagicaVoxel models.