Versions and generation profiles
Versions are data, not code branches. Each version points at a generation profile, and the profile is what the engine implements.
Profiles
| Version | Profile | Generation notes |
|---|---|---|
| 1.21 | mc_1_21 | Trial chambers, the vaults update line and the current world generation ruleset. |
| 1.20 | mc_1_20 | Trails & Tales: trail ruins, cherry grove biome and sniffer content. |
| 1.19 | mc_1_19 | The Wild Update: deep dark, ancient cities, mangrove swamps. |
| 1.18 | mc_1_18 | Caves & Cliffs part II. Terrain height changed to -64…320 and biomes moved to 3D climate noise. |
| 1.17 | mc_1_17 | Caves & Cliffs part I. World shape still uses the pre-1.18 layered biome stack. |
| 1.16 | mc_1_16 | Nether Update: nether biomes, bastion remnants and ruined portals. |
| 1.15 | mc_1_15 | Buzzy Bees. World generation is unchanged from 1.14. |
| 1.14 | mc_1_14 | Village & Pillage: reworked villages, pillager outposts, ruined village layouts. |
| 1.13 | mc_1_13 | Update Aquatic: ocean biomes, shipwrecks, buried treasure and ocean ruins. |
What the version controls
- Which structures exist at all — ancient cities do not exist before 1.19.
- Structure placement values, through version overrides in the structure registry.
- The generation profile handed to the engine, which selects the biome algorithm.
Adding a version
- Add an entry to
lib/minecraft/data/versions.jswith an id, label, release date and profile. - If world generation actually changed, add a new profile constant and map it to the corresponding engine version in
lib/minecraft/generation/wasm/loader.js. - Record any changed structure spacing, separation or salt as a version override in
lib/minecraft/data/structures.js, and setminVersionon new structures. - Add tests covering a known structure position for the new version.
No component branches on a version string directly — everything asks the registry — so adding a version does not touch UI code.
Bedrock Edition
Bedrock is intentionally out of scope. Its generation differs from Java, and offering it without a faithful Bedrock implementation would produce maps that quietly disagree with the game.