Structure data reference
Exactly what the seed map computes for structures, and the values it computes it from.
The region algorithm
For a structure with spacing S, separation P and salt K:
regionSeed = regionX * 341873128712 + regionZ * 132897987541 + worldSeed + K
random = new java.util.Random(regionSeed)
range = S - P
offsetX = random.nextInt(range) // linear
offsetX = (random.nextInt(range) + random.nextInt(range)) / 2 // triangular
chunkX = regionX * S + offsetXThe same is repeated for Z. The result is the structure start chunk; the map draws the marker at the centre of that chunk. Buried treasure is the exception: it uses a one-chunk region and a probability roll, and always sits nine blocks in from the chunk corner.
Placement values
| Structure | Spacing | Separation | Salt | Spread | Requires |
|---|---|---|---|---|---|
| Village | 34 | 8 | 10387312 | linear | biome |
| Pillager Outpost | 32 | 8 | 165745296 | linear | biome |
| Desert Pyramid | 32 | 8 | 14357617 | linear | biome |
| Jungle Temple | 32 | 8 | 14357619 | linear | biome |
| Swamp Hut | 32 | 8 | 14357620 | linear | biome |
| Igloo | 32 | 8 | 14357618 | linear | biome |
| Ocean Monument | 32 | 5 | 10387313 | linear | biome |
| Woodland Mansion | 80 | 20 | 10387319 | triangular | biome |
| Ocean Ruin | 20 | 8 | 14357621 | linear | biome |
| Shipwreck | 24 | 4 | 165745295 | linear | biome |
| Buried Treasure | 1 | 0 | 10387320 | linear | biome |
| Ruined Portal | 40 | 15 | 34222645 | linear | terrain |
| Nether Ruined Portal | 25 | 10 | 34222645 | linear | terrain |
| Ancient City | 24 | 8 | 20083232 | triangular | biome |
| Trail Ruins | 34 | 8 | 83469867 | linear | biome |
| Trial Chamber | 34 | 12 | 94251327 | linear | terrain |
| Nether Fortress | 27 | 4 | 30084232 | linear | terrain |
| Bastion Remnant | 27 | 4 | 30084232 | linear | biome |
| Nether Fossil | 2 | 1 | 14357921 | linear | biome |
| End City | 20 | 11 | 10387313 | triangular | terrain |
| Stronghold | — | — | — | concentric_rings | ring_search, biome |
| Mineshaft | — | — | — | per_chunk_probability | biome |
Requirement flags
biome— Minecraft checks the biome at the candidate position. Needs the generation engine.terrain— the structure needs suitable terrain, such as solid ground or deep water.ring_search— placement uses concentric rings plus a biome search rather than a region grid.
Engine-only structures
Strongholds and mineshafts are marked engine-only. Strongholds are placed on rings and then snapped to the nearest valid biome; mineshafts are rolled per chunk. Neither can be derived from a region grid, so the map disables those layers rather than showing positions that might be wrong.
Verification
The placement values above mirror vanilla worldgen structure sets and match the reference C implementation used by the WebAssembly engine. When the engine is present, candidates are filtered through its real checks, which is also the practical way to verify these values end to end. Corrections are welcome — report a mismatch with the seed, version and coordinates.