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 to profile mapping
VersionProfileGeneration notes
1.21mc_1_21Trial chambers, the vaults update line and the current world generation ruleset.
1.20mc_1_20Trails & Tales: trail ruins, cherry grove biome and sniffer content.
1.19mc_1_19The Wild Update: deep dark, ancient cities, mangrove swamps.
1.18mc_1_18Caves & Cliffs part II. Terrain height changed to -64…320 and biomes moved to 3D climate noise.
1.17mc_1_17Caves & Cliffs part I. World shape still uses the pre-1.18 layered biome stack.
1.16mc_1_16Nether Update: nether biomes, bastion remnants and ruined portals.
1.15mc_1_15Buzzy Bees. World generation is unchanged from 1.14.
1.14mc_1_14Village & Pillage: reworked villages, pillager outposts, ruined village layouts.
1.13mc_1_13Update 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

  1. Add an entry to lib/minecraft/data/versions.js with an id, label, release date and profile.
  2. 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.
  3. Record any changed structure spacing, separation or salt as a version override in lib/minecraft/data/structures.js, and set minVersion on new structures.
  4. 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.