Skip to content

Command Line Usage

Louis Erbkamm edited this page Oct 24, 2026 · 5 revisions

Command Line Usage

Arnis can run without the GUI. The release executables already include the command line mode: if you start Arnis with any arguments, it skips the window and generates straight from the terminal. Without arguments the GUI opens.

arnis-windows.exe --bbox="52.51,13.39,52.52,13.40" --output-dir="C:/YOUR_PATH/.minecraft/saves"

When you build it yourself, you can leave out the GUI completely with --no-default-features:

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

For Java, --output-dir is the folder the new world gets created in (usually your saves folder). Arnis creates a new "Arnis World N" folder in there for every run.

With Nix you can run it directly:

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

Run arnis --help to see every option with its description. The rest of this page groups them by topic.

A note on on/off flags

Most flags are simple switches (--caves, --bedrock). Settings that are on by default take a value instead, so you can turn them off: --overture false, --canopy-height false, --map-item false. Writing just --overture means true. A few switches only exist to turn something off, like --no-3d.

Area and input

Flag Default Description
--bbox Area to generate as min_lat,min_lng,max_lat,max_lng. Required, unless --file gives a local OSM file to read the area from. Below scale 0.3 and on the Moon or Mars no OSM data is loaded, so there it's always required.
--file Read the OSM data from a local file instead of downloading it. Overpass JSON as well as .osm/.xml files work (no PBF). Without --bbox, the area comes from the file's bounds (<bounds> in OSM XML, or the area a --save-json-file run asked for), or else from the extent of its nodes.
--save-json-file Save the OSM data the run uses to a file as Overpass JSON, together with the area, e.g. to generate the same area again later with --file. Can't be combined with --file.
--spawn-lat, --spawn-lng Spawn point. Both have to be given and it has to be inside the area. Without it, Java worlds spawn at the corner of the area.

Output

Flag Default Description
--output-dir Where the world goes. Required for Java. For Bedrock it's optional and defaults to the Desktop, for Luanti it defaults to the Luanti worlds folder. The old name --path still works.
--bedrock off Generate a Bedrock Edition .mcworld file instead of a Java world.
--luanti off Generate a Luanti world (Mineclonia game, map.sqlite) instead of a Java world. Experimental.
--one-world off Add the area to one persistent Java world instead of creating a new one. --output-dir is then the saves folder. See One World.
--world-name Arnis One World Name of the One World folder. Only works together with --one-world.
--map-preview off Also render a top-down PNG map of the generated world (Java and Bedrock).

Size and placement

Flag Default Description
--scale 1.0 Blocks per metre, from 0.05 to 4.0. Below 0.3 buildings and roads are skipped and only terrain and land cover are generated.
--height-multiplier 1.0 Makes the terrain taller or flatter, from 0.1 to 10. Buildings and trees keep their size.
--ground-level -62 Base Y level of the world. In most cases you don't need to touch this: with an extended build height Arnis lowers the terrain on its own as far as it needs.
--rotation 0 Rotates the area clockwise, from -90 to 90 degrees. Not allowed with --one-world.
--projection local local puts the corner of every area at Minecraft 0,0. web_mercator centres the world on the area in a Web Mercator frame (the scale is exact at the centre latitude only). One World always uses its own Web Mercator frame.
--body earth earth, moon or mars. The Moon and Mars use NASA elevation data at a fixed scale (1 block = 200 m on the Moon, 500 m on Mars) and have no map data, so all object options are ignored.

What gets generated

Flag Default Description
--mode geo-terrain geo-terrain: buildings, roads and other OSM objects on real terrain. geo-only: the same on flat ground. terrain-only: real terrain with OSM water and nature, but no buildings, roads or other man-made objects. blueprint: roads, rails, water and nature on real terrain, with every building drawn as a light blue outline on the ground.
--winter off Snow on the ground, roofs and trees, frozen rivers and lakes and snowy biomes.
--post-apocalyptic off Collapsed and overgrown buildings, cracked roads, rubble and no lights.
--interior off Furnished interiors, picked by what the building is used for.
--fillground off Fill everything under the surface with stone and ores.
--caves off Carve Minecraft-style caves, underground rivers, ores and cave biomes into the filled ground. Turns on --fillground.
--cave-biomes How much of each cave biome you get, as name=percent pairs. Names: lush, dripstone, deepdark, mushroom, ice, amethyst, volcanic, coral. 100 is the normal share, 0 turns a biome off, 200 roughly doubles it. Example: --cave-biomes lush=150,deepdark=0.
--cave-asset-pack Folder with a cave asset pack (cave_pack.json plus .schem formations like ice spikes, dripstone columns and amethyst clusters). If there's a cave-pack folder next to the executable, that one is used.
--overture true Add buildings from Overture Maps that are missing in OSM, and take building heights from it where OSM has none.
--no-3d Turns off the 3D landmark models and all bundled props (cars, boats, cranes and so on).
--signage basic none, basic (street names, traffic signs, transit stops, information boards, billboards) or full (adds shop name plates, house numbers and crossing signs). Java only.
--canopy-height true Place trees from the global canopy height map.
--legacy-trees off Use the old procedural trees instead of the tree models.
--max-tree-size giant Largest tree to place: small, medium, big, tall or giant.

World setup

Flag Default Description
--gamemode creative survival, creative or spectator.
--world-time 6000 Time of day in ticks: 0 = dawn, 6000 = noon, 18000 = midnight. Moon and Mars worlds start at midnight unless you set it.
--world-type void What Minecraft generates around the area: void or flat. Java only.
--map-item true Give the player a map. On Java it's a locked map of the whole world, on Bedrock the game's own starting map.

Building facades

See Building Facades for what these do.

Flag Default Description
--building-facades off Hang a bundled facade photo on every building, picked by building type. Java 1.21.4+. Turns the Mapillary facades off for this run.
--mapillary-token Your Mapillary token. Can also come from the MAPILLARY_TOKEN environment variable. With a token, Mapillary facades are on.
--mapillary-facades true with a token --mapillary-facades false keeps the token but skips the facades.
--mapillary-facade-mode photos photos hangs the photos on the walls (Java 1.21.4+). blocks matches the wall blocks to the photos and works everywhere.
--facade-detail standard standard or high (sharper, needs a modern graphics card).
--facade-px 16 Texture resolution in pixels per block: 4, 8, 16 or 32. Lowered automatically if the panels wouldn't fit.
--mapillary-probe off Only check how much Mapillary coverage the area has, print it and exit.
--building-facades-dir Use your own preset facade set (a folder with manifest.json and the images).

There are a few more --mapillary-* flags for debugging the facade pipeline (--mapillary-debug-dir, --mapillary-facades-dir, --mapillary-facade-debug-dir, --mapillary-facade-debug-walls). They're described in --help.

Gameplay extras

All of these come with a data pack in the world. They are Java only and don't work with --one-world yet. See Gameplay Extras.

Flag Minecraft Description
--pause-menu 1.21.6+ "Arnis" button in the pause menu with travel, discoveries and credits.
--discoveries 1.21.4+ Advancement tab for the area's landmarks, unlocked by walking there.
--traffic-lights 1.21.4+ Traffic lights that cycle red, amber and green.
--moving-vehicles 1.21.4+ Cars on the streets and trains, metros and trams on the tracks. --moving-cars works too.
--zombie-outbreak 1.21.6+ Five nights of zombie waves with a boss. Starts the world in survival.
--body-gravity 1.21.4+ Lower gravity on Moon and Mars worlds. Only with --body moon or --body mars.

Advanced

Flag Default Description
--disable-height-limit off Install the extended build height data pack (Java 1.21.4+: Y -2032 to 2031, Bedrock 1.21.40+: up to Y 511). Experimental, and not for Realms.
--aws-only-elevation off Use the legacy AWS Terrain Tiles (about 30 m) instead of Mapterhorn. Same as Legacy terrain in the GUI.
--bake-lighting off Precompute chunk lighting for LOD mods. Slower.
--voxy-lod off Pre-generate the Voxy LOD cache. Java only, turns on --bake-lighting.

Data sources and debugging

Flag Default Description
--osm-tiles-url https://tiles.arnisproject.com/v1 Base URL of the Arnis OSM tile archive.
--no-tile-archive off Skip the tile archive and query the Overpass API directly.
--downloader requests How Overpass requests are made: requests (built in), curl or wget.
--overture-source auto Where Overture buildings come from: auto, tiles or parquet.
--timeout Flood fill timeout in seconds.
--debug off Prints more output and writes debug files (parsed OSM data, land cover images) to the working directory.
--cave-zone-map Renders the cave biome layout for --bbox to two PNGs (<PREFIX>-upper.png and <PREFIX>-deep.png) and exits without generating a world. --cave-zone-map-step sets the blocks per pixel.

The old --terrain flag is still accepted so older scripts keep working, but it does nothing anymore since terrain is on by default. Use --mode geo-only for flat ground.

Examples

A Bedrock world of central Munich at half scale:

arnis --bedrock --scale 0.5 --bbox="48.133,11.565,48.143,11.585"

A snowy Java survival world with caves:

arnis --output-dir="C:/YOUR_PATH/.minecraft/saves" --bbox="47.26,11.38,47.28,11.41" --winter --caves --gamemode survival

Adding an area to a One World:

arnis --one-world --output-dir="C:/YOUR_PATH/.minecraft/saves" --world-name="My City" --bbox="min_lat,min_lng,max_lat,max_lng"

The Copernicus crater on the Moon:

arnis --body moon --output-dir="C:/YOUR_PATH/.minecraft/saves" --bbox="8.6,-21.1,10.6,-19.1"

Clone this wiki locally