Combined MCEdit & Pymclevel repository.
Python Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.github Thought this was markdown but it isn't. Fixed Aug 19, 2018
Items Update translate Apr 2, 2016
albow Have appveyor build the cython files before running pyinstaller Jul 14, 2018
editortools Implemented "CB Commands" button for Bedrock worlds Jul 30, 2018
fonts Re-convert zh-TW font Jul 8, 2015
item-textures/minecraft Added Textures for Items Nov 19, 2014
lang Added new string to translations. Mar 18, 2018
leveldb_mcpe Enhanced player cache treaded functions. Feb 3, 2017
mcver Fixed typo in mcver file Aug 9, 2018
panels Merged the Waypoints and Goto dialog panels together, the Goto shortc… Mar 19, 2018
pymclevel Fix for chunks not being removed in the editor when deleting/pruning … Aug 9, 2018
splashes Additional splash loading images Apr 28, 2018
stock-brushes removed gameVersion from the codebase and replaced with gamePlatform … Jul 13, 2018
stock-filters Have appveyor build the cython files before running pyinstaller Jul 14, 2018
stock-schematics Delete obsolete schematics Oct 31, 2014
toolicons Started work on an improved Time Editor May 1, 2016
utilities updated mcver_updater Jul 14, 2018
viewports removed gameVersion from the codebase and replaced with gamePlatform … Jul 13, 2018
.gitattributes Removed 'tab_to_next' from new features. Apr 14, 2018
.gitignore Added missing .spec file Jul 24, 2018
.gitmodules Fixed submodule May 30, 2015
.travis.yml Fixed failing install step Jul 24, 2018
1.6.0.0-todo.md Change all URLs to reflect repository move Feb 28, 2018
CONTRIBUTING.md Initial import Sep 14, 2014
File Store Locations.txt Revert 4f1c1c0..88c43e5 Oct 19, 2014
LICENSE.txt add license title Jul 11, 2016
LR5_mzu.fot Corrected Korean translation. Mar 29, 2015
Nbtsheet.png Imroved NBT Explorer (image bullets, fixed volatile data and 'Close' … Jan 16, 2015
README.md Updated requirements Jul 23, 2018
RELEASE-VERSION.json Version increment. Jan 23, 2017
TRANSLATION.txt Minor strings changes and fonts addition. TRN files updated. Nov 22, 2014
Tasks.md Fixed Chunk View movement Jan 7, 2015
appveyor.yml Have appveyor build the cython files before running pyinstaller Jul 14, 2018
bo3.def BO3 support: added internal BO3 block names (bo3.def). May 17, 2015
bresenham.py Changed range() to xrange() in most occurrences Feb 17, 2017
char.png Initial import Sep 14, 2014
compass.py A little cleanup Mar 21, 2017
config.py Added experimental PyClark error reporting Apr 18, 2018
cpngfilters.pyx Made opening MCEdit a few ms faster Feb 22, 2017
depths.py Initial import Sep 14, 2014
directories.py Possibly fixed an issue with Unicode paths Feb 9, 2018
drawable.py Cleanup Jan 14, 2015
enviroment.yml Trying out Appveyor Sep 20, 2017
favicon.png Fixed (#345) by going lazy and just scaling the icon down Jul 8, 2015
file.png Added graphic resources for file and folder icons. Mar 1, 2015
fileEdits.py Combined isinstance() calls, removed unused imports Mar 26, 2017
folder.png Added graphic resources for file and folder icons. Mar 1, 2015
frustum.py Reformatted everything. Oct 3, 2014
ftp_client.py Combined isinstance() calls, removed unused imports Mar 26, 2017
glbackground.py Improved widgets handling. Jun 18, 2016
glutils.py Cleanup Jan 14, 2015
gui.png Added NBT Explorer tool (view only). Jan 12, 2015
hook-updater4pyi.py Cleanup Jan 14, 2015
keys.py Combined isinstance() calls, removed unused imports Mar 26, 2017
leveleditor.py Merge branch 'master' of https://github.com/Podshot/MCEdit-Unified in… Jul 14, 2018
mce.py Cleanup Jan 14, 2015
mcedit-ci-osx.spec Updated pyinstaller scripts Jul 29, 2018
mcedit-ci.spec Updated pyinstaller scripts Jul 29, 2018
mcedit-debug.bat Improve bat not accepting enter first loop Oct 21, 2014
mcedit.bat New batch files Oct 19, 2014
mcedit.command Removed window management option from OSX launcher. Apr 1, 2016
mcedit.icns More pixels for everyone. Oct 4, 2014
mcedit.ico Icon Update Oct 3, 2014
mcedit.profile Pymclevel Import Sep 15, 2014
mcedit.py updated mcver_updater Jul 14, 2018
mcedit.sh Added missing flag. Mar 11, 2018
mceutils.py Experimental: created getDataFile to account for bundled files Dec 13, 2017
mclangres.py Experimental: created getDataFile to account for bundled files Dec 13, 2017
mcplatform.py Opening .mcworld files is now supported May 18, 2018
pkgutil.py Cleanup Jan 14, 2015
player_cache.py Error 429 shall no more occur Aug 12, 2017
png.py Added CLI switch for PNG binary support tests. Sep 17, 2017
pyperclip.py Updated pyperclip to version 1.5.8 Feb 13, 2015
raycaster.py Fixed opening an mcpe world after closing another not opening in the … Feb 20, 2017
release.py Change all URLs to reflect repository move Feb 28, 2018
renderer.py Fixed FutureWarning from Numpy Jul 25, 2018
requirements-osx.txt Fixed failing install step Jul 24, 2018
requirements.txt Updated requirements Jul 23, 2018
resource_packs.py Errors while parsing Resource Packs are now caught and reported Mar 6, 2018
setup.py Reworked the NBT and PND build script Sep 15, 2017
setuptest.py Added setup.py for _nbt.py Jun 2, 2015
splash.png Updated translations. Mar 14, 2015
splash.py Fixed typo and changed time editor file loading Apr 14, 2018
terrain-classic.png Initial import Sep 14, 2014
terrain-pocket.png Lever base fix Jul 29, 2018
terrain.png Updated terracotta textures and definitions Jun 11, 2017
waypoints.py Added experimental PyClark error reporting Apr 18, 2018

README.md

MCEdit-Unified

MCEdit-Unified is an updated fork of the original MCEdit by Codewarrior. The previous license still applies. MCEdit-Unified is an open-source, BSD-licensed world editor for the viral indie hit Minecraft. For downloads and update info, visit the official website at podshot.github.io/MCEdit-Unified. The rest of this file is intended for computer programmers, Linux/Mac users, and those who wish to run from source.

Localisation

This version implements localisation functions. The resource files are located in the 'lang' folder for MCEdit UI.

Custom brushes and filters can be also translated, provided a folder named like the base name of the brush/filter file (without the '.py' extension) can be found alongside the file and contains the resources. These resources have to be built with the same rules than MCEdit ones.

The UI fixed character strings can appear in users native language by simply editing translation files. It is also possible to (re)build the language template and files and to use custom fonts.

See TRANSLATION.txt for further details.

Developers don't have to tweak their code so much. The only modifications concern strings which need text formatting or concatenation. See README.txt in albow subfolder for further information.

-- D.C.-G. (LaChal)

Random splash screens

MCEdit now displays random splash screens at startup.

You can make your own and add it in the splashes folder. The name of the file does not matter. Just pay attention it is a PNG image.

There isn't any MCEdit setting to enable or disable this feature for now. The splash file in the MCEdit install folder handles it. It is a plain text file, and it contains the name of an image to be used as a splash screen.

To unactivate the random splash screens, edit the splash file and delete its content. If you delete the file, it will be generated again, and the feature will be activated.

Running from source

Requirements

These programs and packages are required:

General

  • git
  • Python 2.7+ (Python 3 is unsupported)
    • If you use Unicode characters in any of your file paths, you need to use 2.7.14
  • virtualenv (not strictly required, but highly recommended)

Python packages

  • pygame 1.9.4
  • PyOpenGL 3.1.1a1
  • PyOpenGL-accelerate 3.1.1a1
  • numpy 1.15.0
  • Pillow 5.2.0
  • cython 0.28.4
  • python-xlib 0.14
  • ftputil 3.4 (Optional, but FTP server support will be disabled without it)
  • pyClark (Optional, but error reporting will be disabled without it)

On Windows, these are also required (Either one works, pypiwin32 is recommended):

  • pywin32
  • pypiwin32

1. Clone repo

Clone the repo (recursively, to also clone submodules):

git clone --recursive https://github.com/Podshot/MCEdit-Unified

2. Install dependencies

Linux

On Linux, these may be installed at the system level with your distro package manager.

If they are not available, you can install them using pip install --user PACKAGE. In this case, you should set up the virtualenv first, like this:

cd MCEdit-Unified  # Enter the repo directory
virtualenv virtualenv  # Create new virtualenv in "virtualenv" directory
source virtualenv/bin/activate  # Deactivate by running "deactivate" when done

Note about python-xlib: Some Linux distros do not have version 0.14 of python-xlib. In this case, you should install it with pip (either in a virtualenv, or after removing the system package).

Debian/Ubuntu

On Debian and Ubuntu, the Python packages may be installed from distro repositories like this:

sudo apt-get install python-opengl python-pygame python-yaml python-numpy python-xlib

Mac OS X and Windows

The Python packages may be installed using pip install --user PACKAGE.

3. Run

Linux

Run mcedit.sh.

Windows

Run python mcedit.py.

BUILDING NBT AND PNG SUPPORT

Please, mind to adapt the following information according to your operating system!

DEPENDENCIES

To build these libaries, you'll need Cython 0.21 and setuptools.

First, install or update setuptools:

Then, install Cython:

pip install cython==0.21.2

SETUP SCRIPT

This script is intended to be run in a shell opened in MCEdit-Unified folder.

It takes arguments on the command line to work correctly. Invoke it like this:

python setup.py <argument> [argument [argument [...]]]

Without argument, it will fail. (And let you know...)

Use the all argument to build all the libraries the script can handle.
The nbt one will build only the NBT support.
The png one will build only the PNG support.
The help one can, ehhh, help...

After the NBT support is built, you can run a very simple test:

python setuptest.py

Pocket Edition Support

MCPE support requires a special library. MCEdit will run without it, but you will not be able to edit Pocket worlds.

This library is embeded in the packages for OSX and Windows, and will mostly work.

On Linux systems, it is necessary to compile the library, because it requires to be linked to zlib one on the system. It may be necessary to compile zlib specifically for the PE support if the one on the system is not compatible. (It may also happen this library is not on the system...)

The Python script setup_leveldb.py in the pymclevel directory wuill build the PE support, and the zlib library when needed. Read INSTALL_LEVELDB in the pymclevel directory for more information.

Note that, if you use the installer for Linux, this script is used during installation to build the library.

([[Compilation on Windows and OSX part to be written.]])

It is possible to enable a debug mode for PE support by running MCEdit with the --debug-pe option on the command line. Some messages will be displayed in the console. A lot of information will be stored in a dump_pe.txt file. This file can be very big, so be carefull with this debug mode! You can use this option several times to get more information in the file. Currently, using this option more than 2 times will have no effect.

New features test mode

Some unfinished features and fixes may be included in future MCEdit-Unified releases, this inactive code can be activated using the process below. Use at your own risk.

To use:

  • Open your operating system's command console.
  • Go to the directory where MCEdit is installed (Mac users need to open their .app file).
  • Create a text file named new_features.def
  • In this file, add a feature per line. (Unfinished features/fixes are available on request from the developers))
  • Run MCEdit-Unified with the command line option --new-features

These 'new features' will change during the program development. Features may be added or removed at will and may not work at all, most will eventually end up in a release as a normal feature. No documentation is provided for them, except in the code source itself.

We recommend you to use this only if you have at least some familiarity with programming and source code, or if requested by a developer. We highly recommend backing up your worlds (and even the whole game) before using this function, even if requested by the devs.