Skip to content

seventh/PyCraft

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

image

PyCraft

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 nbt

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

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

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

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

Nota: The Python 2 u"" notation for unicode litteral constants, which had been removed by first releases of Python 3, had been added back by Python 3.3, in order to ease portability between the two Python flavours. Actually, using this notation is mandatory only for Python 2 users, to distinguish unicode strings from byte buffers.

Known limitations of using PyCraft with a Python 2.7 interpreter

The current section lists the packages of PyCraft that are known to be incompatible of a Python 2.7 interpretation:

  • Not a single one.

About

High quality Minecraft world editor

Resources

Stars

Watchers

Forks

Packages

No packages published