Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Minecraft Levels for Python - Placeholder. See URL below for the most up-to-date version.
Python
Branch: master
Pull request Compare This branch is 308 commits behind mcedit:master.
Failed to load latest commit information.
regression_test added regression test for heightmap
schematics .NET gzip output doesn't always get read correctly by python's gzip
testfiles move NBT tests to tests.py, add speed test and chunks with TileTicks
yaml remove redundant parentheses
.gitignore Added distutils setup script written by user:sixohsix.
LICENSE.txt added licensing terms
README.txt tweaked readme
__init__.py refactor level formats out to different files, add testing framework …
_nbt.pyx remove 725 unnecessary semicolons
blockrotation.py remove 725 unnecessary semicolons
box.py remove 725 unnecessary semicolons
cachefunc.py some code from activestate, might be cool later
classic.yaml fix stone step graphics, change "Grey" spelling to "Gray" as it is in…
entity.py add lists of entity IDs
faces.py add faces.py
gprof2dot.py remove redundant parentheses
indev.py remove 725 unnecessary semicolons
indev.yaml fixed the name of indev diamond blocks
infiniteworld.py rename chunkFilename arguments, move chunkFilenameAt nearby
items.py remove 725 unnecessary semicolons
items.txt update to items.txt for 1.9pre5. (Thanks, copyboy!)
java.py remove 725 unnecessary semicolons
level.py remove 725 unnecessary semicolons
materials.py remove 725 unnecessary semicolons
mce.py remove 725 unnecessary semicolons
mclevel.py remove 725 unnecessary semicolons
mclevelbase.py remove 725 unnecessary semicolons
minecraft.yaml darkened tall grass
nbt.py Import error messages now explain that NBT acceleration is not availa…
pocket.py remove 725 unnecessary semicolons
pocket.yaml Pocket Edition: Red Rose is now Cyan Flower
profimg.sh add profiling scripts
pynbt.py remove 725 unnecessary semicolons
run_regression_test.py remove 725 unnecessary semicolons
schematic.py remove 725 unnecessary semicolons
setup.cfg Added distutils setup script written by user:sixohsix.
setup.py Added distutils setup script written by user:sixohsix.
setup_nbt.py Tell distutils to add numpy's include dir to the list of include paths.
setupnbt64.bat add setup_nbt.py and setupnbt64.bat. try to import _nbt without using…
tests.py don't load user's levels in tests, load the temp level instead

README.txt

Python library for reading Minecraft levels.

Can read Alpha levels, Indev levels, and Creative levels (with help).

Includes a command-line client (mce.py)

Requires numpy.

Read mclevel.py to get started.

See LICENSE.txt for licensing terms.



mce.py is a command-line editor for SMP maps. It can be used interactively from a terminal, accept editing commands on standard input, or run a single editing command from the shell.

Sample usage:

$ python mce.py

    Usage:

    Block commands:
        clone <sourcePoint> <sourceSize> <destPoint>
        fill <blockType> [ <point> <size> ]
        replace <blockType> [with] <newBlockType> [ <point> <size> ]

        export <filename> <sourcePoint> <sourceSize>
        import <filename> <destPoint>

        analyze

    Player commands:
        player [ <player> [ <point> ] ]
        spawn [ <point> ]

    Entity commands:
        removeEntities [ <EntityID> ]

    Chunk commands:
        createChunks <point> <size>
        deleteChunks <point> <size>
        prune <point> <size>
        relight [ <point> <size> ]

    World commands:
        degrief

    Editor commands:
        save
        reload
        load <filename> | <world number>
        quit

    Informational:
        blocks [ <block name> | <block ID> ]
        help [ <command> ]

    Points and sizes are space-separated triplets of numbers ordered X Y Z.
    X is position north-south, increasing southward.
    Y is position up-down, increasing upward.
    Z is position east-west, increasing westward.

    A player's name can be used as a point - it will use the
    position of the player's head. Use the keyword 'delta' after
    the name to specify a point near the player.

    Example:
       codewarrior delta 0 5 0

    This refers to a point 5 blocks above codewarrior's head.


Please enter world number or path to world folder: 4
INFO:Identifying C:\Users\Rio\AppData\Roaming\.minecraft\saves\World4\level.dat
INFO:Detected Infdev level.dat
INFO:Saved 0 chunks
INFO:Scanning for chunks...
INFO:Found 6288 chunks.
World4> fill 20 Player delta -10 0 -10 20 20 20

Filling with Glass
Filled 8000 blocks.
World4> player Player

Player Player: [87.658381289724858, 54.620000004768372, 358.64257283335115]
World4> player Player Player delta 0 25 0

Moved player Player to (87.658381289724858, 79.620000004768372, 358.642572833351
15)
World4> save

INFO:Asked to light 6 chunks
INFO:Batch 1/1
INFO:Lighting 20 chunks
INFO:Dispersing light...
INFO:BlockLight Pass 0: 20 chunks
INFO:BlockLight Pass 1: 2 chunks
INFO:BlockLight Pass 2: 0 chunks
INFO:BlockLight Pass 3: 0 chunks
INFO:BlockLight Pass 4: 0 chunks
INFO:BlockLight Pass 5: 0 chunks
INFO:BlockLight Pass 6: 0 chunks
INFO:BlockLight Pass 7: 0 chunks
INFO:BlockLight Pass 8: 0 chunks
INFO:BlockLight Pass 9: 0 chunks
INFO:BlockLight Pass 10: 0 chunks
INFO:BlockLight Pass 11: 0 chunks
INFO:BlockLight Pass 12: 0 chunks
INFO:BlockLight Pass 13: 0 chunks
INFO:SkyLight Pass 0: 20 chunks
INFO:SkyLight Pass 1: 22 chunks
INFO:SkyLight Pass 2: 17 chunks
INFO:SkyLight Pass 3: 9 chunks
INFO:SkyLight Pass 4: 7 chunks
INFO:SkyLight Pass 5: 2 chunks
INFO:SkyLight Pass 6: 0 chunks
INFO:SkyLight Pass 7: 0 chunks
INFO:SkyLight Pass 8: 0 chunks
INFO:SkyLight Pass 9: 0 chunks
INFO:SkyLight Pass 10: 0 chunks
INFO:SkyLight Pass 11: 0 chunks
INFO:SkyLight Pass 12: 0 chunks
INFO:SkyLight Pass 13: 0 chunks
INFO:Completed in 0:00:02.024000, 0:00:00.337333 per chunk
INFO:Saved 20 chunks
World4>
Something went wrong with that request. Please try again.