Skip to main content

McThings is a python library for building things in Minecraft

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcthings-0.60.0.tar.gz (22.8 kB view details)

Uploaded Source

Built Distribution

mcthings-0.60.0-py3-none-any.whl (37.0 kB view details)

Uploaded Python 3

File details

Details for the file mcthings-0.60.0.tar.gz.

File metadata

  • Download URL: mcthings-0.60.0.tar.gz
  • Upload date:
  • Size: 22.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.4

File hashes

Hashes for mcthings-0.60.0.tar.gz
Algorithm Hash digest
SHA256 e3b4f69811437ea0f564666357d7593746cdeedbf3022d061cd6679999c8b496
MD5 c832abcd56df034c54eedd8029f6500d
BLAKE2b-256 486f1ee24ab575f0b036780d5d641810f4c7810d25a31f28c2ae615863157b4b

See more details on using hashes here.

File details

Details for the file mcthings-0.60.0-py3-none-any.whl.

File metadata

  • Download URL: mcthings-0.60.0-py3-none-any.whl
  • Upload date:
  • Size: 37.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.4

File hashes

Hashes for mcthings-0.60.0-py3-none-any.whl
Algorithm Hash digest
SHA256 525ddf5b34d597f70ed1cdb9c8780e99213d025c9e5f8f8e21e1496eb7bdf8be
MD5 d800f6f4ba8799ab050fa4064db3b63d
BLAKE2b-256 4eae85b355c041cc085c9da7b83c0f42c4811eb7aeab7c95f20d366d64756bec

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page