BlockMap – A Minecraft 1.13-1.15 world viewer

Build Status

This started as fork of TMCMR, but has been almost completely rewritten due to the update. If you want something stable that works with 1.12 and before worlds, go check it out.

Features:

Gallery

Four rendered region files, each with one with a different color map Four rendered region files, each one with a different shader Screenshot from the GUI Screenshot showing different Minecraft structures as pins on the map Gif of the GUI zooming out in a large world

Requirements:

Get it / Installation:

Download the latest version from the Release page.

AUR package

Arch Linux users can install BlockMap directly from the AUR.

Other distros

BlockMap hasn't been packaged for other distros yet (looking for maintainers).

Use it (GUI):

The GUI version should just run by (double)clicking it. Otherwise run it through:

java -jar BlockMap-gui-2.0.0.jar

to start. If you installed BlockMap through a package manager, search for it in your launcher or menu.

GUI controls:

Use it (CLI):

If you want to use BlockMap through the command line without,

# For general usage help
java -jar BlockMap-cli-2.0.0.jar help
# For help about rendering worlds to a folder
java -jar BlockMap-cli-2.0.0.jar help render

will get you started. On Linux even with colors!

If your world has been created before the Minecraft 1.13 release, please optimize it. To do this, start Minecraft, select your world, go to "Edit" and then "Optimize World".

Server usage:

This feature is not stabilized yet. Backwards-incompatible changes may occur even on minor releases. Any feedback welcome.

The new server mode is based around the following concept:

Old server usage:

The "old" way of doing server support: a simple shell script that calls the CLI.

The bash script server.sh is an example of how this could be used in a server environment. Simply set the paths at the top of the file and call this script regularly on the server. It has a few different render settings pre-configured, but they are easy to adapt to your needs.

Build it:

Due to technical, legal and performance reasons, some resources required to run and test BlockMap are not included in this repository, but generated locally. The Gradle task regenerate will download all required files (you only need an internet connection the first time and after a clean) and generate and compile a bunch of stuff. Without this, nothing will work. On a freshly cloned repository, use initEclipse or initIdea to transform the repository into a project you can simply open in your favorite IDE. (Warning: The eclipse and idea tasks have to be called each time some dependencies changed. Furthermore, they link to some folders in the build directory. This means that they won't work as intended until regenerate has been called.)

All screenshots from above are generated automatically through the Gradle task generateScreenshots. This way, they are always up to date with the latest version. Be aware that this task needs to generate a fairly large Minecraft world first and then render it, which takes both time and space and will cause Gradle to slow down a lot.

Run it:

To run from code:

./gradlew regenerate
# For the CLI
./gradlew :BlockMap-cli:run
# For the GUI
./gradlew :BlockMap-gui:run

If you want to create a release jar and run it, use ./gradlew :BlockMap-gui:runShadow and ./gradlew :BlockMap-cli:runShadow.

Update and Release BlockMap:

./gradlew regenerate
./gradlew generateScreenshots # Optional
./gradlew release

Update to newer Minecraft version

Troubleshooting

Mod support:

Currently, no Minecraft mods are supported, but the rendering engine is built in an extensible way. Mod support will only be implemented on request.