Favicon of Arnis

Arnis

Arnis is an open-source Rust tool that generates Minecraft Java, Bedrock, and Luanti worlds from real-world OpenStreetMap and elevation data.

Arnis website screenshot
Arnis GitHub repository preview

Arnis builds Minecraft worlds that mirror real-world locations. It pulls geospatial data from OpenStreetMap and combines it with elevation data to produce terrain, buildings, and roads that match an actual place, down to building footprints and topography. It's aimed at Minecraft players and mapmakers who want to recreate hometowns, cities, or landscapes without hand-placing blocks, and at developers interested in geospatial data processing written in Rust.

The tool ships as a desktop GUI app (built with Tauri) where you draw a bounding box on a map and click generate, or as a command-line binary for scripted/automated world generation. It supports Minecraft Java Edition (1.17+), Bedrock Edition, and Luanti (Minetest).

Key features

  • Real-world accuracy: Converts OpenStreetMap data and elevation datasets into Minecraft terrain, buildings, and roads that reflect actual geography.
  • Multiple platforms: Generates worlds for Minecraft Java Edition, Bedrock Edition, and Luanti (Minetest).
  • GUI and CLI: Use the desktop app's map rectangle tool, or run generation from the command line with a bounding box argument.
  • Generation modes: Choose between geo-terrain (buildings and roads on real elevation), geo-only (objects on flat ground), or terrain-only (elevation terrain without objects, skipping OSM and Overture fetches).
  • One-world mode: Generate into a single persistent Java world that later runs extend, with neighboring areas joining seamlessly in a shared Web Mercator frame.
  • Customizable settings: Adjust world scale, spawn point, and building interior generation from the GUI.
  • Nix support: Run directly via nix run without a manual build step.
  • Open source, Apache-2.0 licensed: Full source available for building, auditing, or extending.

Ideal use cases

Arnis fits players who want to recreate their hometown, a favorite city, or a natural landscape in Minecraft without manually placing thousands of blocks. It also works for educators building geography or urban-planning lessons in Minecraft, or for anyone running a server that benefits from recognizable real-world maps (the project has been referenced in flood-preparedness education research, for example).

It's a good fit if you're comfortable running a desktop app or compiling a Rust binary, and if you're generating areas at a scale the local Overpass/elevation data pipeline can realistically handle. For mobile generation or much larger map sizes, the README points to a separate browser-based tool (MapSmith) instead, since Arnis itself is a local desktop/CLI tool.

It's not the right choice if you need in-browser or mobile generation with no install, if you want fictional or non-real-world terrain, or if you need guaranteed block-perfect architectural replicas (accuracy depends on how detailed the underlying OSM data is for a given area).

Installation

Download a prebuilt binary from the latest release for your platform, or build from source with Rust installed:

# GUI build
cargo run --release
# Command-line build, generating a single world from a bounding box
cargo run --release --no-default-features -- --output-dir="C:/YOUR_PATH/.minecraft/saves/worldname" --bbox="min_lat,min_lng,max_lat,max_lng"

To generate into a persistent world that later runs extend:

cargo run --release --no-default-features -- --one-world --output-dir="C:/YOUR_PATH/.minecraft/saves" --world-name="My City" --bbox="min_lat,min_lng,max_lat,max_lng"

Control what gets generated with --mode, using geo-terrain (default, buildings/roads on real terrain), geo-only (flat ground), or terrain-only (elevation only, no OSM/Overture fetch).

If you use Nix, run it directly without building:

nix run github:louis-e/arnis -- --output-dir=YOUR_PATH/.minecraft/saves/worldname --bbox="min_lat,min_lng,max_lat,max_lng"

In the GUI, use the rectangle tool to select an area on the map, pick your Minecraft world folder, adjust generation settings if needed, and click Start Generation.

Frequently asked questions

Share:

Stars
18.3K
Forks
1.5K
Last commit
4 hours ago
Repository age
4 years
License
Apache-2.0
Self-hosted
No
Activity score
81/100
View Repository
Ad
Favicon

 

  
 

Similar to Arnis

Favicon

 

  
 
Favicon

 

  
 
Favicon