
Submodule pymclevel: > 6cde200 - Fixed: Log the exception in materials.py when pkg_resources fails to load a yaml file. > 03c6baa - Add dist/ to .gitignore > c62bc96 - Build: Merge setup_nbt.py into setup.py. > 7b3a599 - nbt: gunzip calls GzipFile now instead of zlib.decompress. > 2712e29 - Refactor: Clean up imports in nbt and _nbt > 5b5f399 - Test: Move the extended HeightMap test from mcr_test to anvil_test and give it a better name. > b0f7d59 - Test: Add uncompressed NBT file and NBT file modified by NBTExplorer. > 894ff7a - Server: ChunkNotPresent error while copying chunks now chains exception tracebacks. > df75222 - Test: testDeleteChunks asserts that the chunk is no longer present. > adb6b7b - Test: Place temporary copies of testing files into their own subfolder. > 6713404 - Storage: Modified, unsaved chunks are stored on disk instead of being retained in memory. > 94bfb1a - Fixed: deleteChunk removes the given chunk from allChunks and marks the world for recalculating its bounds. > 5ed8c3d - Backend: Add listDirtyChunks to let MCEdit find out which chunks to redraw after saving and relighting the level. > 5b921d7 - Backend: Split AnvilChunkData apart from AnvilChunk. > b2c8046 - Refactor: Removed now-unused fake "filename" attribute from AnvilChunk > 10ed3a6 - Refactor: Move chunk.sanitizeBlocks to global scope. > f9bd070 - Debug: Little script to run nbt tests with and without _nbt.pyx built. > 5f8d9e6 - Fixed: Newly created chunks create the HeightMap array with the correct byte order. > 4629531 - Debug: Add test case for Primordial Desert generator. > cc20115 - Debug: Add test to measure time taken for level.generateLights > 8f782ec - Debug: Add MCRegionFile.__repr__ > d9d49eb - Fixed: Chunk.bounds now returns a sensible bounding box for its position in the world. > 1c6c307 - Fixed: AnvilWorldFolder won't accept a non-folder path but will create a folder for a nonexistent path. > 124e338 - Refactor: Change chunk.save() into chunk.getSavedData(). Remove world._saveChunk. > 75ae4a3 - AnvilChunk no longer calls world._loadChunk. Instead, the world passes the chunk's root_tag to the chunk's initializer. > 78f473e - Fixed: Change dtype of HeightMap in newly created chunks to uint32
MCEdit
MCEdit is an open-source, BSD-licenced world editor for the viral indie hit Minecraft.
Running from source
MCEdit is written in Python using a variety of open source modules. When developing it is recommended to use virtualenv to keep dependencies sane and for easy deployment. You'll need Python 2.7 and easy_install
/pip
at a minimum before getting started. This quick guide assumes a unix-y OS.
Clone MCEdit:
git clone --recursive https://github.com/mcedit/mcedit
Optionally (but highly recommended), setup and activate virtualenv. virtualenv will simplify development by creating an isolated and barebones Python environment. Anything you install while virtualenv is active won't affect your system-wide Python installation, for example.
cd mcedit
easy_install virtualenv
virtualenv ENV
. ENV/bin/activate
Install various dependencies. This may take a bit (especially numpy). If installing pygame errors, try installing from a binary packages or following one of the guides from that page to install from source. On Windows, easy_install
is preferred because it installs prebuilt binary packages. On Linux and Mac OS X, you may want to use pip install
instead.
easy_install PyOpenGL
easy_install numpy
easy_install pygame
easy_install pyyaml
You should now be able to run MCEdit with python mcedit.py
assuming you've installed all the dependencies correctly.