worldgen: parse structure sets and place them on the vanilla grid
Loads the 26.1.2 structure datapack: 20 structure sets, 34 structure definitions, and the worldgen biome tags they reference. Random-spread placement follows RandomSpreadStructurePlacement byte for byte — region floorDiv by spacing, one Legacy stream salted per region, two spread-type draws for the offset — and the four legacy frequency reducers keep their exact draws, including the hardcoded buried-treasure salt and the outpost's discarded full-range int. Verified against the fixture: on seed 12345 the ruined_portals set claims exactly chunk (1,0), the chunk whose captured blocks carry the ruined portal's obsidian, gold, and crying obsidian. TestStructure- PlacementGrid pins that plus village separation invariants.
This commit is contained in:
parent
f162698302
commit
c488ce274f
125 changed files with 2123 additions and 0 deletions
42
internal/worldgen/data/structure_json/fortress.json
Normal file
42
internal/worldgen/data/structure_json/fortress.json
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
{
|
||||
"type": "minecraft:fortress",
|
||||
"biomes": "#minecraft:has_structure/nether_fortress",
|
||||
"spawn_overrides": {
|
||||
"monster": {
|
||||
"bounding_box": "piece",
|
||||
"spawns": [
|
||||
{
|
||||
"type": "minecraft:blaze",
|
||||
"maxCount": 3,
|
||||
"minCount": 2,
|
||||
"weight": 10
|
||||
},
|
||||
{
|
||||
"type": "minecraft:zombified_piglin",
|
||||
"maxCount": 4,
|
||||
"minCount": 4,
|
||||
"weight": 5
|
||||
},
|
||||
{
|
||||
"type": "minecraft:wither_skeleton",
|
||||
"maxCount": 5,
|
||||
"minCount": 5,
|
||||
"weight": 8
|
||||
},
|
||||
{
|
||||
"type": "minecraft:skeleton",
|
||||
"maxCount": 5,
|
||||
"minCount": 5,
|
||||
"weight": 2
|
||||
},
|
||||
{
|
||||
"type": "minecraft:magma_cube",
|
||||
"maxCount": 4,
|
||||
"minCount": 4,
|
||||
"weight": 3
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"step": "underground_decoration"
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue