Documentation
How Meld turns a map selection into one seamless Minecraft world. Start here, then pick a guide that explains how each piece works.
What Meld is
Meld is a slim orchestrator around a custom Arnis fork. Arnis converts one OpenStreetMap bounding box into one Minecraft world. Meld adds the thing Arnis cannot do on its own: areas bigger than a single run. It tiles the area into a grid, builds the tiles with many Arnis runs at once, and melds them into one world with the same terrain height and building style everywhere.
It is one Flask process, one single page map UI, and a thin worker pool. A few hundred lines, not a framework.
How a build flows, end to end
You draw an area on the map. Meld does the rest in a few clear steps:
- It picks an origin, one fixed anchor that every block coordinate is measured from.
- It runs a quick elevation survey and locks one height range, so the land lines up everywhere.
- It splits the area into cells that fall on region file boundaries, so seams land in clean spots.
- It downloads the area's map data once and shares it to every cell, so nothing gets rate limited.
- It builds many cells in parallel with the Arnis fork, all using the same origin, seed, and height lock.
- It merges each finished cell into one master world, keeping only the part each cell owns.
- A drift guard refuses any cell that does not line up, so a built world is never corrupted.
The result is one Minecraft world with no cliffs and no seams. The guides below explain each piece.
Quickstart
One thing has to be installed first: Python 3.9 or newer. A one-click launcher does the rest, so it works the same on Windows, macOS and Linux.
- Get the code:
git clone https://github.com/Teddy563/meld cd meld - Start it for your operating system:
- Windows: double-click
meld.bat. - macOS: double-click
meld.commandin Finder. The first time, right-click it and choose Open once to get past Gatekeeper. - Linux: run
./meld.sh.
.venv, installs the dependencies, fetches or builds the matchingarnisgenerator for your machine, then openshttp://127.0.0.1:5630. Re-running is instant. To see what is installed or missing without changing anything, runpython meld_launch.py --check. - Windows: double-click
- Draw a rectangle on the map, or search a place. Meld auto centers the origin, tiles the selection into cells, and runs an elevation survey.
- Pick a cell size (regions per cell), then hit Generate world. Open the world in Minecraft from the save location shown in the panel.
Manual install (optional)
To wire it up by hand instead:
pip install -r requirements.txt
python server.py (open http://127.0.0.1:5630)
Put a matching arnis binary next to server.py (on macOS and Linux it must be named arnis, no .exe), or download it from the Teddy563/arnis releases. Meld auto finds it at ./arnis, ../arnis, or the fork's target/release/ build.
The guides
Each page explains the why, the mechanism, and how to use it in the app.
Arnis at scale
What Meld adds to Arnis, in plain terms: bigger areas, many builds at once, and one world with no seams. Read this first if you already know Arnis.
How it works
The full pipeline: origin, the elevation lock, region aligned cells, map prefetch, parallel generation, the region perfect merge, and the drift guard. The mental model behind everything else.
Elevation
The whole elevation system: the global height lock, region data packs you download once, selectable detail with Auto, the no-data hole repair, and the height preview that shows you what is cached.
Parallel generation
Cells and the worker pool, the CPU budget and staggered starts, stream to disk for huge cells, auto retry, spiral build order, and why small cells can finish faster.
The Arnis fork
What the custom Arnis fork changes and the knobs you get: no buildings, road detail modes, automatic flat bridges, seam free rendering, offline elevation, a custom Overpass URL, and how to run map data offline or self-hosted.
Tree packs
A region aware schematic tree pack: 1,959 hand made models across 448 species and 10 world regions, placed by location, with five size tiers, density driven groves, montane and wetland remaps, and reliable anchoring. Created by paleozoey.
Terrain height & snow
Two terrain knobs: vertical exaggeration to make mountains taller without widening the map, and snow modes (off, realistic, peaks, or a fixed height) to put the white where you want it.
Border & zones
Build real country borders for a server: preview concentric rings on the map, export WorldGuard regions, point files, and a ready border.sk Skript, then trim the world so it feels infinite but is bounded to the country.
Caves
One toggle carves a full vanilla-style cave system into every cell at generation time: caverns, tunnels, underground rivers and lakes, ores, geodes and eight themed cave biomes, deterministic and seam-safe across tiles.
Build height
Fit a world’s vertical range to the real terrain instead of vanilla’s −64 to 319: pick your Minecraft version, build above the ceiling and below the floor, set the range by hand, and keep every cell of a tiled world on identical geometry.
Server setup
World to running Leaf server in five confirmed steps: plan, stage, download (hash-verified), accept the EULA, start, with the border plugins pre-staged, format-correct world files, and an optional Voxy streamer so players see the whole map on join.
Looking for what changed between releases? That lives in the changelog.