Skip to main content

High quality Minecraft world editor

Project description

PyCraft is a high-quality Python library for offline edition of Minecraft worlds. High-quality, because it respects the spirit of the Python programming language (i.e. it is pythonic), and because it also takes care of memory consumption, which can be a huge problem during Minecraft world edition. PyCraft complies with Python 3.3 specifications.

PyCraft is governed by the CeCILL-C license under French law and abiding by the rules of distribution of free software.

Quick and dirty: edit a NBT-formatted file

Here is an example of modifications that can be operated with PyCraft on a file stored with NBT encoding format. NBT encoding is widely used in Minecraft.

from pycraft import con

# Load our favorite TAG_COMPOUND
W = con.load("entry.nbt")

# Add some meaningful information :)
W["author"] = "Me, myself and I"
W["date"] = "2014-02-26"

# By default, ints are of kind TAG_LONG. Nobody likes show-offs
W["nb_of_followers"] = 42
W.set_kind("nb_of_followers") = con.TAG_BYTE

# Save it back
W.save("entry.nbt")

Known limitations of using PyCraft with a Python 2.7 interpreter

The current section lists the packages of PyCraft that won’t work if you use a Python 2.7 interpreter:

  • con.py considers TAG_STRING items to be stored as str() object, whereas in Python 2.7 it should be as unicode() object. As this last type has been removed, there is no way to use the con.py package properly if you deal with TAG_STRING items.

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

PyCraft-1403020.tar.bz2 (24.0 kB view hashes)

Uploaded Source

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