A selected map rectangle becomes a Minecraft save
Arnis starts with a familiar action: draw a rectangle around a place on a map. It combines OpenStreetMap objects with elevation data, then writes a Minecraft world containing terrain, buildings, roads, and other mapped features. The README supports Java Edition 1.17 or newer and Bedrock Edition. Users can adjust scale, spawn position, and building interiors before generation.
Three generation modes clarify what data enters the result. geo-terrain combines mapped objects with elevation, geo-only puts those objects on flat ground, and terrain-only omits OpenStreetMap objects and the Overture fetch. That separation is useful for diagnosing a bad result. If a coastline is wrong, the terrain path deserves attention; if a building is missing, the object data and conversion rules are the likely places to inspect.
The 345-second build ended with 618 passing tests
We cloned commit c7b5f19 into an unprivileged container with 3 CPUs and 12 GB of RAM. Its 25.3 MB checkout held 2,354 files and about 126,482 source lines. Cargo installed 651 packages in 66 seconds. The release build succeeded in 345 seconds, which is long enough that most players should start with the published executable rather than compiling for casual use.
Repository signals were reassuring: 4 CI workflow files, a tests directory, and no Dockerfile. A desktop world generator does not need a container image, especially when the GUI and save locations are platform-specific. Contributors still have a real Rust dependency graph and a sizeable codebase to compile. Nix users get a documented nix run route, while the direct command can disable default features for a CLI-only build.
What happened when we ran it
Our sandbox test run succeeded in 58 seconds. Cargo reported 618 passed and 0 failed out of 618, after the 66-second install and 345-second build had already completed. That is the cleanest lab result in this group and good evidence that the checked-out source was internally consistent in the stated Rust environment.
We did not generate a city, download a region's elevation tiles, open the result in Minecraft, or time world creation. The lab numbers establish source setup and test health only. Map generation cost depends on the selected area, scale, source coverage, and enabled details. The README's stated aim of fast generation is an objective, not a benchmark, so it would be wrong to turn our compiler timing into a claim about city output.
Geographic accuracy stops where the source data stops
Arnis can create a convincing place without creating a literal copy. OpenStreetMap coverage varies by neighborhood, elevation grids have finite resolution, and Minecraft blocks force real shapes onto a grid. Release v3.1.0 added Overture building heights where OpenStreetMap lacks them, traced an ESA water mask for coastlines, and placed trees using a canopy-height map. Those inputs improve specific gaps while adding more data joins that can disagree.
Issue 667 explains one terrain limit in measurable terms. The reporter found elevation scaled by 0.7, Gaussian smoothing that softened steep hills, and source resolution too low to retain a bowl roughly 75 meters wide with a 10-meter height difference. Issue 1289 shows river water extending beyond mapped boundaries in one v3.1.0 area. A builder should generate a small sample around the hardest terrain before committing to a large region.
One-shot world generation is stronger than persistent expansion
The tool writes a selected area to a world, and that is different from running a forever-growing Earth server. Issue 1036 asks for a fixed latitude-to-block projection, a view of previously generated regions, incremental additions, and protection for player structures. The request notes that basic generation into an existing world exists, but says coordinate consistency and safe merging are missing from the desired workflow.
That boundary should decide between Arnis and TerraPlusPlus. Choose Arnis when you want a finite exported map that can be inspected, copied, and edited. Choose a coordinate-based generation mod when players must travel into new real-world regions over months without an operator drawing each rectangle. WorldEdit is a better companion after export if the job becomes reshaping blocks rather than importing more geographic data.
Bedrock and Linux deserve a trial before a large job
Version 3.1.0 lets Bedrock users point Arnis at a custom save folder and includes corrected block mappings. Issue 1296 still reports that the generated Data3D biome entry may use an invalid representation. Minecraft apparently tolerates the file in the reporter's case, while Amulet could not open it. Anyone planning a Bedrock editing chain should create a tiny world, open it in every required tool, and retain backups before generation.
Linux GUI startup has a separate risk. Issues 1290 and 833 show EGL_NOT_INITIALIZED failures on Fedora systems, even after one reporter installed expected EGL packages. Release notes mention a software-rendering override fix, but a current issue still reports the released binary aborting. The command-line path avoids map-window interaction, though it requires an explicit bounding box and output directory.
August 2026 activity supports using the release binaries
GitHub recorded 17,630 stars, 140 combined issues and pull requests, and a last push on August 23, 2026. The Canopy Update, v3.1.0, shipped on August 18 with binaries for Windows, Linux, and universal macOS. Its change list includes work from several first-time contributors alongside fixes for coastlines, tunnels, Bedrock mappings, local .osm input, and settings persistence.
Apache-2.0 licensing permits modification and redistribution under its terms. The project also warns users to download only from its GitHub repository or official site. Arnis earns a trial because the entire 618-test suite passed in our environment and the basic rectangle-to-world model is easy to understand. The remaining decision is about output tolerance: use a small representative region to see what its data and block rules do to the place you care about.

