minetest-worldmapper 0.2.3

Minetest world mapper
minetest-worldmapper-0.2.3 is not a library.
Visit the last successful build: minetest-worldmapper-0.3.7

minetest-worldmapper

Build Crates.io Dependency Status

A multi-threaded mapper for Minetest with node transparency support.

It generates a view of the world from above, rendering one pixel per voxel.

Usage

First, compile the project with cargo:

cargo build --release

Then, call the executable target/release/minetest-worldmapper with the three required arguments:

Option Short Description
--world -w The directory of the world to render.
--config -c The config file. The format should follow the config format.
--output -o The image file which the map should be rendered to.

Example usage

minetest-worldmapper --world TestWorld/ --config config.example.toml --output map.png

Config file

If a voxel is rendered and its color are entirely determined by the config file. An example config file is part of this repo. Its main purpose is to map content IDs to colors.

Config option Type Description
version Integer Config version. Currently always 1.
background_color String Hex color string in the format "rrggbb" or "rrggbbaa". Serves as a fallback color if all voxels for a given pixel are exhausted and there is transparency left.
target_alpha Integer When determining a pixel's color, stop going through transparent nodes when reaching this opacity value. Between 0 and 255.
node_colors Table A mapping from content names to color strings in the same format as background_color.

Current limitations

  • Only sqlite3 and Redis are supported as backend.
  • Only map chunks with map format version 29 (the current) are supported.
  • No hillshading feature yet.

Example pictures

Zoomed in Big map

Reading Minetest worlds with Rust

The crate minetestworld is the basis for this renderer.