103 lines
2.9 KiB
Markdown
103 lines
2.9 KiB
Markdown
MC Worldgen
|
|
===========
|
|
|
|
Procedural Minecraft Java region exporter. The C exporter is the maintained path:
|
|
it builds without Python dependencies and writes `.mca` region files that can be
|
|
copied into an existing world's `region/` folder.
|
|
|
|
Requirements
|
|
------------
|
|
|
|
- GCC or Clang
|
|
- `make`
|
|
- zlib development headers (`zlib1g-dev` on Debian/Ubuntu)
|
|
- pthreads, normally included with libc toolchains
|
|
|
|
Build
|
|
-----
|
|
|
|
```sh
|
|
cd worldgen-c
|
|
make
|
|
```
|
|
|
|
Quick smoke test:
|
|
|
|
```sh
|
|
./bin/worldgen --radius 0 --out /tmp/mcworldgen-smoke
|
|
```
|
|
|
|
That should create `/tmp/mcworldgen-smoke/r.0.0.mca`.
|
|
|
|
Diagnostic feature scan:
|
|
|
|
```sh
|
|
make scan
|
|
./bin/worldgen-scan --radius 2 --center-x -3200 --center-z 3200
|
|
```
|
|
|
|
The scanner prints counts for cabin blocks, gravel/path columns, redwood biome
|
|
columns, and titan-height tree trunks.
|
|
|
|
Generate Regions
|
|
----------------
|
|
|
|
Small area around chunk 0,0:
|
|
|
|
```sh
|
|
./bin/worldgen --radius 4 --trails --out output
|
|
```
|
|
|
|
Specific chunk rectangle:
|
|
|
|
```sh
|
|
./bin/worldgen --min-x -8 --max-x 8 --min-z -8 --max-z 8 --trails --out output
|
|
```
|
|
|
|
Useful options:
|
|
|
|
- `--radius N`: generate chunks from `center - N` through `center + N`.
|
|
- `--center-x X --center-z Z`: center chunk for radius mode.
|
|
- `--min-x --max-x --min-z --max-z`: explicit chunk bounds.
|
|
- `--threads N`: worker thread count.
|
|
- `--seed S`: deterministic world seed.
|
|
- `--sea-level L`: sea level, default `70`.
|
|
- `--snow-line H`: snow threshold, default `sea-level + 38`.
|
|
- `--trails`: enable trail and cabin prepass.
|
|
- `--wall`: build a brutalist border wall around the generated area.
|
|
- `--format mca|bin`: write Minecraft region files or raw debug chunks.
|
|
- `--out DIR`: output directory.
|
|
|
|
Features
|
|
--------
|
|
|
|
- Redwoods are enabled automatically. The biome classifier marks high-rainfall,
|
|
higher-relief areas as redwood forest, then places titan trees, dirt/mulch
|
|
floor cover, tall grass, and occasional fallen logs.
|
|
- Cabins are enabled automatically. With `--trails`, cabins only try to spawn on
|
|
chunks crossed by the trail network so their spur paths can connect to roads.
|
|
Without `--trails`, cabins can still spawn, but they are rarer and unconnected.
|
|
- Trails are optional because they need a prepass over the target area. Use
|
|
`--trails` when you want roads and better-connected cabins.
|
|
|
|
Minecraft Version
|
|
-----------------
|
|
|
|
The exporter writes Java Edition 1.17.1 chunk data (`DataVersion` 2730). That
|
|
version is chosen because the generator includes copper ore. Open the generated
|
|
regions in Minecraft Java 1.17.1 or a newer version that can upgrade old worlds.
|
|
|
|
The exporter writes region files only. To use them in game, create or choose a
|
|
Java world, close Minecraft, back up the save, and replace or add files under:
|
|
|
|
```text
|
|
<minecraft save>/region/
|
|
```
|
|
|
|
Python Exporter
|
|
---------------
|
|
|
|
`export_mca.py` is the older prototype exporter. It now shares the same 1.17.1
|
|
data version and maps generated coal correctly, but the C exporter is faster and
|
|
has the current terrain features.
|