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
86
internal/world/structure_placement_test.go
Normal file
86
internal/world/structure_placement_test.go
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
package world
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"regionio/internal/worldgen"
|
||||
)
|
||||
|
||||
// TestStructurePlacementGrid pins the random-spread placement machinery against
|
||||
// the vanilla capture. The fixture's chunk (1,0) carries a ruined portal —
|
||||
// obsidian, crying obsidian, and a gold block around y=13-18 — and the grid
|
||||
// must claim exactly that chunk for the ruined_portals set on seed 12345.
|
||||
func TestStructurePlacementGrid(t *testing.T) {
|
||||
sets, err := worldgen.LoadStructureSets()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
const seed = 12345
|
||||
if sets.Sets["minecraft:ruined_portals"] == nil {
|
||||
t.Fatal("ruined_portals set missing")
|
||||
}
|
||||
set := sets.Sets["minecraft:ruined_portals"]
|
||||
|
||||
var claimed []string
|
||||
for cx := int32(-8); cx <= 8; cx++ {
|
||||
for cz := int32(-8); cz <= 8; cz++ {
|
||||
if set.IsStartChunk(seed, cx, cz) {
|
||||
claimed = append(claimed, "("+structCoord(cx)+","+structCoord(cz)+")")
|
||||
}
|
||||
}
|
||||
}
|
||||
if len(claimed) != 1 || claimed[0] != "(1,0)" {
|
||||
t.Fatalf("ruined portal starts %v, want exactly [(1,0)]", claimed)
|
||||
}
|
||||
|
||||
// Mineshaft corridors from the starts around the fixture reach its deep
|
||||
// oak-plank cells; the starts themselves sit a few chunks out.
|
||||
mineshafts := sets.Sets["minecraft:mineshafts"]
|
||||
near := 0
|
||||
for cx := int32(-6); cx <= 6; cx++ {
|
||||
for cz := int32(-6); cz <= 6; cz++ {
|
||||
if mineshafts.IsStartChunk(seed, cx, cz) {
|
||||
near++
|
||||
}
|
||||
}
|
||||
}
|
||||
if near == 0 {
|
||||
t.Fatal("no mineshaft starts anywhere near the fixture")
|
||||
}
|
||||
|
||||
// Villages use spacing 34/separation 8: two starts can never share a
|
||||
// region row or column window closer than separation allows.
|
||||
villages := sets.Sets["minecraft:villages"]
|
||||
vp := villages.Placement.RandomSpread
|
||||
pick := func(cx, cz int32) [2]int32 { return vp.PotentialChunk(seed, cx, cz) }
|
||||
a := pick(0, 0)
|
||||
b := pick(int32(vp.Spacing), 0)
|
||||
span := int32(vp.Spacing - vp.Separation)
|
||||
localA := a[0]
|
||||
localB := b[0] - int32(vp.Spacing)
|
||||
if localA < 0 || localA >= span || localB < 0 || localB >= span {
|
||||
t.Fatalf("village offsets %v -> %v fall outside [0,%d)", a, b, span)
|
||||
}
|
||||
if gap := b[0] - a[0]; gap < int32(vp.Separation)+1 {
|
||||
t.Fatalf("adjacent village regions %d apart, want >= %d", gap, vp.Separation+1)
|
||||
}
|
||||
}
|
||||
|
||||
func structCoord(v int32) string {
|
||||
digits := ""
|
||||
neg := v < 0
|
||||
if neg {
|
||||
v = -v
|
||||
}
|
||||
for v > 0 {
|
||||
digits = string(rune('0'+v%10)) + digits
|
||||
v /= 10
|
||||
}
|
||||
if digits == "" {
|
||||
digits = "0"
|
||||
}
|
||||
if neg {
|
||||
return "-" + digits
|
||||
}
|
||||
return digits
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:swamp",
|
||||
"minecraft:mangrove_swamp"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:lush_caves"
|
||||
]
|
||||
}
|
||||
5
internal/worldgen/data/biome_tag/ancient_city.json
Normal file
5
internal/worldgen/data/biome_tag/ancient_city.json
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:deep_dark"
|
||||
]
|
||||
}
|
||||
8
internal/worldgen/data/biome_tag/bastion_remnant.json
Normal file
8
internal/worldgen/data/biome_tag/bastion_remnant.json
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:crimson_forest",
|
||||
"minecraft:nether_wastes",
|
||||
"minecraft:soul_sand_valley",
|
||||
"minecraft:warped_forest"
|
||||
]
|
||||
}
|
||||
5
internal/worldgen/data/biome_tag/buried_treasure.json
Normal file
5
internal/worldgen/data/biome_tag/buried_treasure.json
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"values": [
|
||||
"#minecraft:is_beach"
|
||||
]
|
||||
}
|
||||
5
internal/worldgen/data/biome_tag/desert_pyramid.json
Normal file
5
internal/worldgen/data/biome_tag/desert_pyramid.json
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:desert"
|
||||
]
|
||||
}
|
||||
6
internal/worldgen/data/biome_tag/end_city.json
Normal file
6
internal/worldgen/data/biome_tag/end_city.json
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:end_highlands",
|
||||
"minecraft:end_midlands"
|
||||
]
|
||||
}
|
||||
7
internal/worldgen/data/biome_tag/igloo.json
Normal file
7
internal/worldgen/data/biome_tag/igloo.json
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:snowy_taiga",
|
||||
"minecraft:snowy_plains",
|
||||
"minecraft:snowy_slopes"
|
||||
]
|
||||
}
|
||||
7
internal/worldgen/data/biome_tag/is_badlands.json
Normal file
7
internal/worldgen/data/biome_tag/is_badlands.json
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:badlands",
|
||||
"minecraft:eroded_badlands",
|
||||
"minecraft:wooded_badlands"
|
||||
]
|
||||
}
|
||||
6
internal/worldgen/data/biome_tag/is_beach.json
Normal file
6
internal/worldgen/data/biome_tag/is_beach.json
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:beach",
|
||||
"minecraft:snowy_beach"
|
||||
]
|
||||
}
|
||||
8
internal/worldgen/data/biome_tag/is_deep_ocean.json
Normal file
8
internal/worldgen/data/biome_tag/is_deep_ocean.json
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:deep_frozen_ocean",
|
||||
"minecraft:deep_cold_ocean",
|
||||
"minecraft:deep_ocean",
|
||||
"minecraft:deep_lukewarm_ocean"
|
||||
]
|
||||
}
|
||||
9
internal/worldgen/data/biome_tag/is_end.json
Normal file
9
internal/worldgen/data/biome_tag/is_end.json
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:the_end",
|
||||
"minecraft:end_highlands",
|
||||
"minecraft:end_midlands",
|
||||
"minecraft:small_end_islands",
|
||||
"minecraft:end_barrens"
|
||||
]
|
||||
}
|
||||
11
internal/worldgen/data/biome_tag/is_forest.json
Normal file
11
internal/worldgen/data/biome_tag/is_forest.json
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:forest",
|
||||
"minecraft:flower_forest",
|
||||
"minecraft:birch_forest",
|
||||
"minecraft:old_growth_birch_forest",
|
||||
"minecraft:dark_forest",
|
||||
"minecraft:pale_garden",
|
||||
"minecraft:grove"
|
||||
]
|
||||
}
|
||||
7
internal/worldgen/data/biome_tag/is_hill.json
Normal file
7
internal/worldgen/data/biome_tag/is_hill.json
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:windswept_hills",
|
||||
"minecraft:windswept_forest",
|
||||
"minecraft:windswept_gravelly_hills"
|
||||
]
|
||||
}
|
||||
7
internal/worldgen/data/biome_tag/is_jungle.json
Normal file
7
internal/worldgen/data/biome_tag/is_jungle.json
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:bamboo_jungle",
|
||||
"minecraft:jungle",
|
||||
"minecraft:sparse_jungle"
|
||||
]
|
||||
}
|
||||
10
internal/worldgen/data/biome_tag/is_mountain.json
Normal file
10
internal/worldgen/data/biome_tag/is_mountain.json
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:meadow",
|
||||
"minecraft:frozen_peaks",
|
||||
"minecraft:jagged_peaks",
|
||||
"minecraft:stony_peaks",
|
||||
"minecraft:snowy_slopes",
|
||||
"minecraft:cherry_grove"
|
||||
]
|
||||
}
|
||||
9
internal/worldgen/data/biome_tag/is_nether.json
Normal file
9
internal/worldgen/data/biome_tag/is_nether.json
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:nether_wastes",
|
||||
"minecraft:soul_sand_valley",
|
||||
"minecraft:crimson_forest",
|
||||
"minecraft:warped_forest",
|
||||
"minecraft:basalt_deltas"
|
||||
]
|
||||
}
|
||||
10
internal/worldgen/data/biome_tag/is_ocean.json
Normal file
10
internal/worldgen/data/biome_tag/is_ocean.json
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"values": [
|
||||
"#minecraft:is_deep_ocean",
|
||||
"minecraft:frozen_ocean",
|
||||
"minecraft:ocean",
|
||||
"minecraft:cold_ocean",
|
||||
"minecraft:lukewarm_ocean",
|
||||
"minecraft:warm_ocean"
|
||||
]
|
||||
}
|
||||
58
internal/worldgen/data/biome_tag/is_overworld.json
Normal file
58
internal/worldgen/data/biome_tag/is_overworld.json
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:mushroom_fields",
|
||||
"minecraft:deep_frozen_ocean",
|
||||
"minecraft:frozen_ocean",
|
||||
"minecraft:deep_cold_ocean",
|
||||
"minecraft:cold_ocean",
|
||||
"minecraft:deep_ocean",
|
||||
"minecraft:ocean",
|
||||
"minecraft:deep_lukewarm_ocean",
|
||||
"minecraft:lukewarm_ocean",
|
||||
"minecraft:warm_ocean",
|
||||
"minecraft:stony_shore",
|
||||
"minecraft:swamp",
|
||||
"minecraft:mangrove_swamp",
|
||||
"minecraft:snowy_slopes",
|
||||
"minecraft:snowy_plains",
|
||||
"minecraft:snowy_beach",
|
||||
"minecraft:windswept_gravelly_hills",
|
||||
"minecraft:grove",
|
||||
"minecraft:windswept_hills",
|
||||
"minecraft:snowy_taiga",
|
||||
"minecraft:windswept_forest",
|
||||
"minecraft:taiga",
|
||||
"minecraft:plains",
|
||||
"minecraft:meadow",
|
||||
"minecraft:beach",
|
||||
"minecraft:forest",
|
||||
"minecraft:old_growth_spruce_taiga",
|
||||
"minecraft:flower_forest",
|
||||
"minecraft:birch_forest",
|
||||
"minecraft:dark_forest",
|
||||
"minecraft:pale_garden",
|
||||
"minecraft:savanna_plateau",
|
||||
"minecraft:savanna",
|
||||
"minecraft:jungle",
|
||||
"minecraft:badlands",
|
||||
"minecraft:desert",
|
||||
"minecraft:wooded_badlands",
|
||||
"minecraft:jagged_peaks",
|
||||
"minecraft:stony_peaks",
|
||||
"minecraft:frozen_river",
|
||||
"minecraft:river",
|
||||
"minecraft:ice_spikes",
|
||||
"minecraft:old_growth_pine_taiga",
|
||||
"minecraft:sunflower_plains",
|
||||
"minecraft:old_growth_birch_forest",
|
||||
"minecraft:sparse_jungle",
|
||||
"minecraft:bamboo_jungle",
|
||||
"minecraft:eroded_badlands",
|
||||
"minecraft:windswept_savanna",
|
||||
"minecraft:cherry_grove",
|
||||
"minecraft:frozen_peaks",
|
||||
"minecraft:dripstone_caves",
|
||||
"minecraft:lush_caves",
|
||||
"minecraft:deep_dark"
|
||||
]
|
||||
}
|
||||
6
internal/worldgen/data/biome_tag/is_river.json
Normal file
6
internal/worldgen/data/biome_tag/is_river.json
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:river",
|
||||
"minecraft:frozen_river"
|
||||
]
|
||||
}
|
||||
7
internal/worldgen/data/biome_tag/is_savanna.json
Normal file
7
internal/worldgen/data/biome_tag/is_savanna.json
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:savanna",
|
||||
"minecraft:savanna_plateau",
|
||||
"minecraft:windswept_savanna"
|
||||
]
|
||||
}
|
||||
8
internal/worldgen/data/biome_tag/is_taiga.json
Normal file
8
internal/worldgen/data/biome_tag/is_taiga.json
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:taiga",
|
||||
"minecraft:snowy_taiga",
|
||||
"minecraft:old_growth_pine_taiga",
|
||||
"minecraft:old_growth_spruce_taiga"
|
||||
]
|
||||
}
|
||||
6
internal/worldgen/data/biome_tag/jungle_temple.json
Normal file
6
internal/worldgen/data/biome_tag/jungle_temple.json
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:bamboo_jungle",
|
||||
"minecraft:jungle"
|
||||
]
|
||||
}
|
||||
26
internal/worldgen/data/biome_tag/mineshaft.json
Normal file
26
internal/worldgen/data/biome_tag/mineshaft.json
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
"values": [
|
||||
"#minecraft:is_ocean",
|
||||
"#minecraft:is_river",
|
||||
"#minecraft:is_beach",
|
||||
"#minecraft:is_mountain",
|
||||
"#minecraft:is_hill",
|
||||
"#minecraft:is_taiga",
|
||||
"#minecraft:is_jungle",
|
||||
"#minecraft:is_forest",
|
||||
"minecraft:stony_shore",
|
||||
"minecraft:mushroom_fields",
|
||||
"minecraft:ice_spikes",
|
||||
"minecraft:windswept_savanna",
|
||||
"minecraft:desert",
|
||||
"minecraft:savanna",
|
||||
"minecraft:snowy_plains",
|
||||
"minecraft:plains",
|
||||
"minecraft:sunflower_plains",
|
||||
"minecraft:swamp",
|
||||
"minecraft:mangrove_swamp",
|
||||
"minecraft:savanna_plateau",
|
||||
"minecraft:dripstone_caves",
|
||||
"minecraft:lush_caves"
|
||||
]
|
||||
}
|
||||
5
internal/worldgen/data/biome_tag/mineshaft_blocking.json
Normal file
5
internal/worldgen/data/biome_tag/mineshaft_blocking.json
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:deep_dark"
|
||||
]
|
||||
}
|
||||
5
internal/worldgen/data/biome_tag/mineshaft_mesa.json
Normal file
5
internal/worldgen/data/biome_tag/mineshaft_mesa.json
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"values": [
|
||||
"#minecraft:is_badlands"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"values": [
|
||||
"#minecraft:is_river"
|
||||
]
|
||||
}
|
||||
5
internal/worldgen/data/biome_tag/nether_fortress.json
Normal file
5
internal/worldgen/data/biome_tag/nether_fortress.json
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"values": [
|
||||
"#minecraft:is_nether"
|
||||
]
|
||||
}
|
||||
5
internal/worldgen/data/biome_tag/nether_fossil.json
Normal file
5
internal/worldgen/data/biome_tag/nether_fossil.json
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:soul_sand_valley"
|
||||
]
|
||||
}
|
||||
5
internal/worldgen/data/biome_tag/ocean_monument.json
Normal file
5
internal/worldgen/data/biome_tag/ocean_monument.json
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"values": [
|
||||
"#minecraft:is_deep_ocean"
|
||||
]
|
||||
}
|
||||
10
internal/worldgen/data/biome_tag/ocean_ruin_cold.json
Normal file
10
internal/worldgen/data/biome_tag/ocean_ruin_cold.json
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:frozen_ocean",
|
||||
"minecraft:cold_ocean",
|
||||
"minecraft:ocean",
|
||||
"minecraft:deep_frozen_ocean",
|
||||
"minecraft:deep_cold_ocean",
|
||||
"minecraft:deep_ocean"
|
||||
]
|
||||
}
|
||||
7
internal/worldgen/data/biome_tag/ocean_ruin_warm.json
Normal file
7
internal/worldgen/data/biome_tag/ocean_ruin_warm.json
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:lukewarm_ocean",
|
||||
"minecraft:warm_ocean",
|
||||
"minecraft:deep_lukewarm_ocean"
|
||||
]
|
||||
}
|
||||
11
internal/worldgen/data/biome_tag/pillager_outpost.json
Normal file
11
internal/worldgen/data/biome_tag/pillager_outpost.json
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:desert",
|
||||
"minecraft:plains",
|
||||
"minecraft:savanna",
|
||||
"minecraft:snowy_plains",
|
||||
"minecraft:taiga",
|
||||
"#minecraft:is_mountain",
|
||||
"minecraft:grove"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:frozen_ocean",
|
||||
"minecraft:deep_frozen_ocean"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:warm_ocean"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"values": [
|
||||
"#minecraft:is_river"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"values": [
|
||||
"#minecraft:is_ocean",
|
||||
"#minecraft:is_river"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:desert"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"values": [
|
||||
"#minecraft:is_jungle"
|
||||
]
|
||||
}
|
||||
10
internal/worldgen/data/biome_tag/ruined_portal_mountain.json
Normal file
10
internal/worldgen/data/biome_tag/ruined_portal_mountain.json
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"values": [
|
||||
"#minecraft:is_badlands",
|
||||
"#minecraft:is_hill",
|
||||
"minecraft:savanna_plateau",
|
||||
"minecraft:windswept_savanna",
|
||||
"minecraft:stony_shore",
|
||||
"#minecraft:is_mountain"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"values": [
|
||||
"#minecraft:is_nether"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"values": [
|
||||
"#minecraft:is_ocean"
|
||||
]
|
||||
}
|
||||
16
internal/worldgen/data/biome_tag/ruined_portal_standard.json
Normal file
16
internal/worldgen/data/biome_tag/ruined_portal_standard.json
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"values": [
|
||||
"#minecraft:is_beach",
|
||||
"#minecraft:is_river",
|
||||
"#minecraft:is_taiga",
|
||||
"#minecraft:is_forest",
|
||||
"minecraft:mushroom_fields",
|
||||
"minecraft:ice_spikes",
|
||||
"minecraft:dripstone_caves",
|
||||
"minecraft:lush_caves",
|
||||
"minecraft:savanna",
|
||||
"minecraft:snowy_plains",
|
||||
"minecraft:plains",
|
||||
"minecraft:sunflower_plains"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:swamp",
|
||||
"minecraft:mangrove_swamp"
|
||||
]
|
||||
}
|
||||
5
internal/worldgen/data/biome_tag/shipwreck.json
Normal file
5
internal/worldgen/data/biome_tag/shipwreck.json
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"values": [
|
||||
"#minecraft:is_ocean"
|
||||
]
|
||||
}
|
||||
5
internal/worldgen/data/biome_tag/shipwreck_beached.json
Normal file
5
internal/worldgen/data/biome_tag/shipwreck_beached.json
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"values": [
|
||||
"#minecraft:is_beach"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:snowy_plains",
|
||||
"minecraft:ice_spikes",
|
||||
"minecraft:frozen_peaks",
|
||||
"minecraft:jagged_peaks",
|
||||
"minecraft:snowy_slopes",
|
||||
"minecraft:frozen_ocean",
|
||||
"minecraft:deep_frozen_ocean",
|
||||
"minecraft:grove",
|
||||
"minecraft:deep_dark",
|
||||
"minecraft:frozen_river",
|
||||
"minecraft:snowy_taiga",
|
||||
"minecraft:snowy_beach",
|
||||
"#minecraft:is_end",
|
||||
"minecraft:cold_ocean",
|
||||
"minecraft:deep_cold_ocean",
|
||||
"minecraft:old_growth_pine_taiga",
|
||||
"minecraft:old_growth_spruce_taiga",
|
||||
"minecraft:taiga",
|
||||
"minecraft:windswept_forest",
|
||||
"minecraft:windswept_gravelly_hills",
|
||||
"minecraft:windswept_hills",
|
||||
"minecraft:stony_peaks"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:snowy_plains",
|
||||
"minecraft:ice_spikes",
|
||||
"minecraft:frozen_peaks",
|
||||
"minecraft:jagged_peaks",
|
||||
"minecraft:snowy_slopes",
|
||||
"minecraft:frozen_ocean",
|
||||
"minecraft:deep_frozen_ocean",
|
||||
"minecraft:grove",
|
||||
"minecraft:deep_dark",
|
||||
"minecraft:frozen_river",
|
||||
"minecraft:snowy_taiga",
|
||||
"minecraft:snowy_beach",
|
||||
"#minecraft:is_end"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:warm_ocean"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:desert"
|
||||
]
|
||||
}
|
||||
14
internal/worldgen/data/biome_tag/spawns_snow_foxes.json
Normal file
14
internal/worldgen/data/biome_tag/spawns_snow_foxes.json
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:snowy_plains",
|
||||
"minecraft:ice_spikes",
|
||||
"minecraft:frozen_ocean",
|
||||
"minecraft:snowy_taiga",
|
||||
"minecraft:frozen_river",
|
||||
"minecraft:snowy_beach",
|
||||
"minecraft:frozen_peaks",
|
||||
"minecraft:jagged_peaks",
|
||||
"minecraft:snowy_slopes",
|
||||
"minecraft:grove"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:desert",
|
||||
"minecraft:warm_ocean",
|
||||
"#minecraft:is_jungle",
|
||||
"#minecraft:is_savanna",
|
||||
"#minecraft:is_nether",
|
||||
"#minecraft:is_badlands",
|
||||
"minecraft:mangrove_swamp",
|
||||
"minecraft:deep_lukewarm_ocean",
|
||||
"minecraft:lukewarm_ocean"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:desert",
|
||||
"minecraft:warm_ocean",
|
||||
"#minecraft:is_jungle",
|
||||
"#minecraft:is_savanna",
|
||||
"#minecraft:is_nether",
|
||||
"#minecraft:is_badlands",
|
||||
"minecraft:mangrove_swamp"
|
||||
]
|
||||
}
|
||||
14
internal/worldgen/data/biome_tag/spawns_white_rabbits.json
Normal file
14
internal/worldgen/data/biome_tag/spawns_white_rabbits.json
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:snowy_plains",
|
||||
"minecraft:ice_spikes",
|
||||
"minecraft:frozen_ocean",
|
||||
"minecraft:snowy_taiga",
|
||||
"minecraft:frozen_river",
|
||||
"minecraft:snowy_beach",
|
||||
"minecraft:frozen_peaks",
|
||||
"minecraft:jagged_peaks",
|
||||
"minecraft:snowy_slopes",
|
||||
"minecraft:grove"
|
||||
]
|
||||
}
|
||||
5
internal/worldgen/data/biome_tag/stronghold.json
Normal file
5
internal/worldgen/data/biome_tag/stronghold.json
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"values": [
|
||||
"#minecraft:is_overworld"
|
||||
]
|
||||
}
|
||||
41
internal/worldgen/data/biome_tag/stronghold_biased_to.json
Normal file
41
internal/worldgen/data/biome_tag/stronghold_biased_to.json
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:plains",
|
||||
"minecraft:sunflower_plains",
|
||||
"minecraft:snowy_plains",
|
||||
"minecraft:ice_spikes",
|
||||
"minecraft:desert",
|
||||
"minecraft:forest",
|
||||
"minecraft:flower_forest",
|
||||
"minecraft:birch_forest",
|
||||
"minecraft:dark_forest",
|
||||
"minecraft:pale_garden",
|
||||
"minecraft:old_growth_birch_forest",
|
||||
"minecraft:old_growth_pine_taiga",
|
||||
"minecraft:old_growth_spruce_taiga",
|
||||
"minecraft:taiga",
|
||||
"minecraft:snowy_taiga",
|
||||
"minecraft:savanna",
|
||||
"minecraft:savanna_plateau",
|
||||
"minecraft:windswept_hills",
|
||||
"minecraft:windswept_gravelly_hills",
|
||||
"minecraft:windswept_forest",
|
||||
"minecraft:windswept_savanna",
|
||||
"minecraft:jungle",
|
||||
"minecraft:sparse_jungle",
|
||||
"minecraft:bamboo_jungle",
|
||||
"minecraft:badlands",
|
||||
"minecraft:eroded_badlands",
|
||||
"minecraft:wooded_badlands",
|
||||
"minecraft:meadow",
|
||||
"minecraft:cherry_grove",
|
||||
"minecraft:grove",
|
||||
"minecraft:snowy_slopes",
|
||||
"minecraft:frozen_peaks",
|
||||
"minecraft:jagged_peaks",
|
||||
"minecraft:stony_peaks",
|
||||
"minecraft:mushroom_fields",
|
||||
"minecraft:dripstone_caves",
|
||||
"minecraft:lush_caves"
|
||||
]
|
||||
}
|
||||
5
internal/worldgen/data/biome_tag/swamp_hut.json
Normal file
5
internal/worldgen/data/biome_tag/swamp_hut.json
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:swamp"
|
||||
]
|
||||
}
|
||||
10
internal/worldgen/data/biome_tag/trail_ruins.json
Normal file
10
internal/worldgen/data/biome_tag/trail_ruins.json
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:taiga",
|
||||
"minecraft:snowy_taiga",
|
||||
"minecraft:old_growth_pine_taiga",
|
||||
"minecraft:old_growth_spruce_taiga",
|
||||
"minecraft:old_growth_birch_forest",
|
||||
"minecraft:jungle"
|
||||
]
|
||||
}
|
||||
57
internal/worldgen/data/biome_tag/trial_chambers.json
Normal file
57
internal/worldgen/data/biome_tag/trial_chambers.json
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:mushroom_fields",
|
||||
"minecraft:deep_frozen_ocean",
|
||||
"minecraft:frozen_ocean",
|
||||
"minecraft:deep_cold_ocean",
|
||||
"minecraft:cold_ocean",
|
||||
"minecraft:deep_ocean",
|
||||
"minecraft:ocean",
|
||||
"minecraft:deep_lukewarm_ocean",
|
||||
"minecraft:lukewarm_ocean",
|
||||
"minecraft:warm_ocean",
|
||||
"minecraft:stony_shore",
|
||||
"minecraft:swamp",
|
||||
"minecraft:mangrove_swamp",
|
||||
"minecraft:snowy_slopes",
|
||||
"minecraft:snowy_plains",
|
||||
"minecraft:snowy_beach",
|
||||
"minecraft:windswept_gravelly_hills",
|
||||
"minecraft:grove",
|
||||
"minecraft:windswept_hills",
|
||||
"minecraft:snowy_taiga",
|
||||
"minecraft:windswept_forest",
|
||||
"minecraft:taiga",
|
||||
"minecraft:plains",
|
||||
"minecraft:meadow",
|
||||
"minecraft:beach",
|
||||
"minecraft:forest",
|
||||
"minecraft:old_growth_spruce_taiga",
|
||||
"minecraft:flower_forest",
|
||||
"minecraft:birch_forest",
|
||||
"minecraft:dark_forest",
|
||||
"minecraft:pale_garden",
|
||||
"minecraft:savanna_plateau",
|
||||
"minecraft:savanna",
|
||||
"minecraft:jungle",
|
||||
"minecraft:badlands",
|
||||
"minecraft:desert",
|
||||
"minecraft:wooded_badlands",
|
||||
"minecraft:jagged_peaks",
|
||||
"minecraft:stony_peaks",
|
||||
"minecraft:frozen_river",
|
||||
"minecraft:river",
|
||||
"minecraft:ice_spikes",
|
||||
"minecraft:old_growth_pine_taiga",
|
||||
"minecraft:sunflower_plains",
|
||||
"minecraft:old_growth_birch_forest",
|
||||
"minecraft:sparse_jungle",
|
||||
"minecraft:bamboo_jungle",
|
||||
"minecraft:eroded_badlands",
|
||||
"minecraft:windswept_savanna",
|
||||
"minecraft:cherry_grove",
|
||||
"minecraft:frozen_peaks",
|
||||
"minecraft:dripstone_caves",
|
||||
"minecraft:lush_caves"
|
||||
]
|
||||
}
|
||||
5
internal/worldgen/data/biome_tag/village_desert.json
Normal file
5
internal/worldgen/data/biome_tag/village_desert.json
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:desert"
|
||||
]
|
||||
}
|
||||
6
internal/worldgen/data/biome_tag/village_plains.json
Normal file
6
internal/worldgen/data/biome_tag/village_plains.json
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:plains",
|
||||
"minecraft:meadow"
|
||||
]
|
||||
}
|
||||
5
internal/worldgen/data/biome_tag/village_savanna.json
Normal file
5
internal/worldgen/data/biome_tag/village_savanna.json
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:savanna"
|
||||
]
|
||||
}
|
||||
5
internal/worldgen/data/biome_tag/village_snowy.json
Normal file
5
internal/worldgen/data/biome_tag/village_snowy.json
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:snowy_plains"
|
||||
]
|
||||
}
|
||||
5
internal/worldgen/data/biome_tag/village_taiga.json
Normal file
5
internal/worldgen/data/biome_tag/village_taiga.json
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:taiga"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"values": [
|
||||
"#minecraft:is_ocean",
|
||||
"#minecraft:is_river",
|
||||
"minecraft:swamp",
|
||||
"minecraft:mangrove_swamp"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:the_void"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:mushroom_fields"
|
||||
]
|
||||
}
|
||||
6
internal/worldgen/data/biome_tag/woodland_mansion.json
Normal file
6
internal/worldgen/data/biome_tag/woodland_mansion.json
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:dark_forest",
|
||||
"minecraft:pale_garden"
|
||||
]
|
||||
}
|
||||
48
internal/worldgen/data/structure_json/ancient_city.json
Normal file
48
internal/worldgen/data/structure_json/ancient_city.json
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
{
|
||||
"type": "minecraft:jigsaw",
|
||||
"biomes": "#minecraft:has_structure/ancient_city",
|
||||
"max_distance_from_center": 116,
|
||||
"size": 7,
|
||||
"spawn_overrides": {
|
||||
"ambient": {
|
||||
"bounding_box": "full",
|
||||
"spawns": []
|
||||
},
|
||||
"axolotls": {
|
||||
"bounding_box": "full",
|
||||
"spawns": []
|
||||
},
|
||||
"creature": {
|
||||
"bounding_box": "full",
|
||||
"spawns": []
|
||||
},
|
||||
"misc": {
|
||||
"bounding_box": "full",
|
||||
"spawns": []
|
||||
},
|
||||
"monster": {
|
||||
"bounding_box": "full",
|
||||
"spawns": []
|
||||
},
|
||||
"underground_water_creature": {
|
||||
"bounding_box": "full",
|
||||
"spawns": []
|
||||
},
|
||||
"water_ambient": {
|
||||
"bounding_box": "full",
|
||||
"spawns": []
|
||||
},
|
||||
"water_creature": {
|
||||
"bounding_box": "full",
|
||||
"spawns": []
|
||||
}
|
||||
},
|
||||
"start_height": {
|
||||
"absolute": -27
|
||||
},
|
||||
"start_jigsaw_name": "minecraft:city_anchor",
|
||||
"start_pool": "minecraft:ancient_city/city_center",
|
||||
"step": "underground_decoration",
|
||||
"terrain_adaptation": "beard_box",
|
||||
"use_expansion_hack": false
|
||||
}
|
||||
13
internal/worldgen/data/structure_json/bastion_remnant.json
Normal file
13
internal/worldgen/data/structure_json/bastion_remnant.json
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "minecraft:jigsaw",
|
||||
"biomes": "#minecraft:has_structure/bastion_remnant",
|
||||
"max_distance_from_center": 80,
|
||||
"size": 6,
|
||||
"spawn_overrides": {},
|
||||
"start_height": {
|
||||
"absolute": 33
|
||||
},
|
||||
"start_pool": "minecraft:bastion/starts",
|
||||
"step": "surface_structures",
|
||||
"use_expansion_hack": false
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"type": "minecraft:buried_treasure",
|
||||
"biomes": "#minecraft:has_structure/buried_treasure",
|
||||
"spawn_overrides": {},
|
||||
"step": "underground_structures"
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"type": "minecraft:desert_pyramid",
|
||||
"biomes": "#minecraft:has_structure/desert_pyramid",
|
||||
"spawn_overrides": {},
|
||||
"step": "surface_structures"
|
||||
}
|
||||
6
internal/worldgen/data/structure_json/end_city.json
Normal file
6
internal/worldgen/data/structure_json/end_city.json
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"type": "minecraft:end_city",
|
||||
"biomes": "#minecraft:has_structure/end_city",
|
||||
"spawn_overrides": {},
|
||||
"step": "surface_structures"
|
||||
}
|
||||
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"
|
||||
}
|
||||
6
internal/worldgen/data/structure_json/igloo.json
Normal file
6
internal/worldgen/data/structure_json/igloo.json
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"type": "minecraft:igloo",
|
||||
"biomes": "#minecraft:has_structure/igloo",
|
||||
"spawn_overrides": {},
|
||||
"step": "surface_structures"
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"type": "minecraft:jungle_temple",
|
||||
"biomes": "#minecraft:has_structure/jungle_temple",
|
||||
"spawn_overrides": {},
|
||||
"step": "surface_structures"
|
||||
}
|
||||
6
internal/worldgen/data/structure_json/mansion.json
Normal file
6
internal/worldgen/data/structure_json/mansion.json
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"type": "minecraft:woodland_mansion",
|
||||
"biomes": "#minecraft:has_structure/woodland_mansion",
|
||||
"spawn_overrides": {},
|
||||
"step": "surface_structures"
|
||||
}
|
||||
7
internal/worldgen/data/structure_json/mineshaft.json
Normal file
7
internal/worldgen/data/structure_json/mineshaft.json
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"type": "minecraft:mineshaft",
|
||||
"biomes": "#minecraft:has_structure/mineshaft",
|
||||
"mineshaft_type": "normal",
|
||||
"spawn_overrides": {},
|
||||
"step": "underground_structures"
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"type": "minecraft:mineshaft",
|
||||
"biomes": "#minecraft:has_structure/mineshaft_mesa",
|
||||
"mineshaft_type": "mesa",
|
||||
"spawn_overrides": {},
|
||||
"step": "underground_structures"
|
||||
}
|
||||
26
internal/worldgen/data/structure_json/monument.json
Normal file
26
internal/worldgen/data/structure_json/monument.json
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
"type": "minecraft:ocean_monument",
|
||||
"biomes": "#minecraft:has_structure/ocean_monument",
|
||||
"spawn_overrides": {
|
||||
"axolotls": {
|
||||
"bounding_box": "full",
|
||||
"spawns": []
|
||||
},
|
||||
"monster": {
|
||||
"bounding_box": "full",
|
||||
"spawns": [
|
||||
{
|
||||
"type": "minecraft:guardian",
|
||||
"maxCount": 4,
|
||||
"minCount": 2,
|
||||
"weight": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"underground_water_creature": {
|
||||
"bounding_box": "full",
|
||||
"spawns": []
|
||||
}
|
||||
},
|
||||
"step": "surface_structures"
|
||||
}
|
||||
16
internal/worldgen/data/structure_json/nether_fossil.json
Normal file
16
internal/worldgen/data/structure_json/nether_fossil.json
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"type": "minecraft:nether_fossil",
|
||||
"biomes": "#minecraft:has_structure/nether_fossil",
|
||||
"height": {
|
||||
"type": "minecraft:uniform",
|
||||
"max_inclusive": {
|
||||
"below_top": 2
|
||||
},
|
||||
"min_inclusive": {
|
||||
"absolute": 32
|
||||
}
|
||||
},
|
||||
"spawn_overrides": {},
|
||||
"step": "underground_decoration",
|
||||
"terrain_adaptation": "beard_thin"
|
||||
}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"type": "minecraft:ocean_ruin",
|
||||
"biome_temp": "cold",
|
||||
"biomes": "#minecraft:has_structure/ocean_ruin_cold",
|
||||
"cluster_probability": 0.9,
|
||||
"large_probability": 0.3,
|
||||
"spawn_overrides": {},
|
||||
"step": "surface_structures"
|
||||
}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"type": "minecraft:ocean_ruin",
|
||||
"biome_temp": "warm",
|
||||
"biomes": "#minecraft:has_structure/ocean_ruin_warm",
|
||||
"cluster_probability": 0.9,
|
||||
"large_probability": 0.3,
|
||||
"spawn_overrides": {},
|
||||
"step": "surface_structures"
|
||||
}
|
||||
27
internal/worldgen/data/structure_json/pillager_outpost.json
Normal file
27
internal/worldgen/data/structure_json/pillager_outpost.json
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
"type": "minecraft:jigsaw",
|
||||
"biomes": "#minecraft:has_structure/pillager_outpost",
|
||||
"max_distance_from_center": 80,
|
||||
"project_start_to_heightmap": "WORLD_SURFACE_WG",
|
||||
"size": 7,
|
||||
"spawn_overrides": {
|
||||
"monster": {
|
||||
"bounding_box": "full",
|
||||
"spawns": [
|
||||
{
|
||||
"type": "minecraft:pillager",
|
||||
"maxCount": 1,
|
||||
"minCount": 1,
|
||||
"weight": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"start_height": {
|
||||
"absolute": 0
|
||||
},
|
||||
"start_pool": "minecraft:pillager_outpost/base_plates",
|
||||
"step": "surface_structures",
|
||||
"terrain_adaptation": "beard_thin",
|
||||
"use_expansion_hack": true
|
||||
}
|
||||
28
internal/worldgen/data/structure_json/ruined_portal.json
Normal file
28
internal/worldgen/data/structure_json/ruined_portal.json
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{
|
||||
"type": "minecraft:ruined_portal",
|
||||
"biomes": "#minecraft:has_structure/ruined_portal_standard",
|
||||
"setups": [
|
||||
{
|
||||
"air_pocket_probability": 1.0,
|
||||
"can_be_cold": true,
|
||||
"mossiness": 0.2,
|
||||
"overgrown": false,
|
||||
"placement": "underground",
|
||||
"replace_with_blackstone": false,
|
||||
"vines": false,
|
||||
"weight": 0.5
|
||||
},
|
||||
{
|
||||
"air_pocket_probability": 0.5,
|
||||
"can_be_cold": true,
|
||||
"mossiness": 0.2,
|
||||
"overgrown": false,
|
||||
"placement": "on_land_surface",
|
||||
"replace_with_blackstone": false,
|
||||
"vines": false,
|
||||
"weight": 0.5
|
||||
}
|
||||
],
|
||||
"spawn_overrides": {},
|
||||
"step": "surface_structures"
|
||||
}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"type": "minecraft:ruined_portal",
|
||||
"biomes": "#minecraft:has_structure/ruined_portal_desert",
|
||||
"setups": [
|
||||
{
|
||||
"air_pocket_probability": 0.0,
|
||||
"can_be_cold": false,
|
||||
"mossiness": 0.0,
|
||||
"overgrown": false,
|
||||
"placement": "partly_buried",
|
||||
"replace_with_blackstone": false,
|
||||
"vines": false,
|
||||
"weight": 1.0
|
||||
}
|
||||
],
|
||||
"spawn_overrides": {},
|
||||
"step": "surface_structures"
|
||||
}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"type": "minecraft:ruined_portal",
|
||||
"biomes": "#minecraft:has_structure/ruined_portal_jungle",
|
||||
"setups": [
|
||||
{
|
||||
"air_pocket_probability": 0.5,
|
||||
"can_be_cold": false,
|
||||
"mossiness": 0.8,
|
||||
"overgrown": true,
|
||||
"placement": "on_land_surface",
|
||||
"replace_with_blackstone": false,
|
||||
"vines": true,
|
||||
"weight": 1.0
|
||||
}
|
||||
],
|
||||
"spawn_overrides": {},
|
||||
"step": "surface_structures"
|
||||
}
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
{
|
||||
"type": "minecraft:ruined_portal",
|
||||
"biomes": "#minecraft:has_structure/ruined_portal_mountain",
|
||||
"setups": [
|
||||
{
|
||||
"air_pocket_probability": 1.0,
|
||||
"can_be_cold": true,
|
||||
"mossiness": 0.2,
|
||||
"overgrown": false,
|
||||
"placement": "in_mountain",
|
||||
"replace_with_blackstone": false,
|
||||
"vines": false,
|
||||
"weight": 0.5
|
||||
},
|
||||
{
|
||||
"air_pocket_probability": 0.5,
|
||||
"can_be_cold": true,
|
||||
"mossiness": 0.2,
|
||||
"overgrown": false,
|
||||
"placement": "on_land_surface",
|
||||
"replace_with_blackstone": false,
|
||||
"vines": false,
|
||||
"weight": 0.5
|
||||
}
|
||||
],
|
||||
"spawn_overrides": {},
|
||||
"step": "surface_structures"
|
||||
}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"type": "minecraft:ruined_portal",
|
||||
"biomes": "#minecraft:has_structure/ruined_portal_nether",
|
||||
"setups": [
|
||||
{
|
||||
"air_pocket_probability": 0.5,
|
||||
"can_be_cold": false,
|
||||
"mossiness": 0.0,
|
||||
"overgrown": false,
|
||||
"placement": "in_nether",
|
||||
"replace_with_blackstone": true,
|
||||
"vines": false,
|
||||
"weight": 1.0
|
||||
}
|
||||
],
|
||||
"spawn_overrides": {},
|
||||
"step": "surface_structures"
|
||||
}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"type": "minecraft:ruined_portal",
|
||||
"biomes": "#minecraft:has_structure/ruined_portal_ocean",
|
||||
"setups": [
|
||||
{
|
||||
"air_pocket_probability": 0.0,
|
||||
"can_be_cold": true,
|
||||
"mossiness": 0.8,
|
||||
"overgrown": false,
|
||||
"placement": "on_ocean_floor",
|
||||
"replace_with_blackstone": false,
|
||||
"vines": false,
|
||||
"weight": 1.0
|
||||
}
|
||||
],
|
||||
"spawn_overrides": {},
|
||||
"step": "surface_structures"
|
||||
}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"type": "minecraft:ruined_portal",
|
||||
"biomes": "#minecraft:has_structure/ruined_portal_swamp",
|
||||
"setups": [
|
||||
{
|
||||
"air_pocket_probability": 0.0,
|
||||
"can_be_cold": false,
|
||||
"mossiness": 0.5,
|
||||
"overgrown": false,
|
||||
"placement": "on_ocean_floor",
|
||||
"replace_with_blackstone": false,
|
||||
"vines": true,
|
||||
"weight": 1.0
|
||||
}
|
||||
],
|
||||
"spawn_overrides": {},
|
||||
"step": "surface_structures"
|
||||
}
|
||||
7
internal/worldgen/data/structure_json/shipwreck.json
Normal file
7
internal/worldgen/data/structure_json/shipwreck.json
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"type": "minecraft:shipwreck",
|
||||
"biomes": "#minecraft:has_structure/shipwreck",
|
||||
"is_beached": false,
|
||||
"spawn_overrides": {},
|
||||
"step": "surface_structures"
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"type": "minecraft:shipwreck",
|
||||
"biomes": "#minecraft:has_structure/shipwreck_beached",
|
||||
"is_beached": true,
|
||||
"spawn_overrides": {},
|
||||
"step": "surface_structures"
|
||||
}
|
||||
7
internal/worldgen/data/structure_json/stronghold.json
Normal file
7
internal/worldgen/data/structure_json/stronghold.json
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"type": "minecraft:stronghold",
|
||||
"biomes": "#minecraft:has_structure/stronghold",
|
||||
"spawn_overrides": {},
|
||||
"step": "surface_structures",
|
||||
"terrain_adaptation": "bury"
|
||||
}
|
||||
29
internal/worldgen/data/structure_json/swamp_hut.json
Normal file
29
internal/worldgen/data/structure_json/swamp_hut.json
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
"type": "minecraft:swamp_hut",
|
||||
"biomes": "#minecraft:has_structure/swamp_hut",
|
||||
"spawn_overrides": {
|
||||
"creature": {
|
||||
"bounding_box": "piece",
|
||||
"spawns": [
|
||||
{
|
||||
"type": "minecraft:cat",
|
||||
"maxCount": 1,
|
||||
"minCount": 1,
|
||||
"weight": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"monster": {
|
||||
"bounding_box": "piece",
|
||||
"spawns": [
|
||||
{
|
||||
"type": "minecraft:witch",
|
||||
"maxCount": 1,
|
||||
"minCount": 1,
|
||||
"weight": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"step": "surface_structures"
|
||||
}
|
||||
15
internal/worldgen/data/structure_json/trail_ruins.json
Normal file
15
internal/worldgen/data/structure_json/trail_ruins.json
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"type": "minecraft:jigsaw",
|
||||
"biomes": "#minecraft:has_structure/trail_ruins",
|
||||
"max_distance_from_center": 80,
|
||||
"project_start_to_heightmap": "WORLD_SURFACE_WG",
|
||||
"size": 7,
|
||||
"spawn_overrides": {},
|
||||
"start_height": {
|
||||
"absolute": -15
|
||||
},
|
||||
"start_pool": "minecraft:trail_ruins/tower",
|
||||
"step": "underground_structures",
|
||||
"terrain_adaptation": "bury",
|
||||
"use_expansion_hack": false
|
||||
}
|
||||
147
internal/worldgen/data/structure_json/trial_chambers.json
Normal file
147
internal/worldgen/data/structure_json/trial_chambers.json
Normal file
|
|
@ -0,0 +1,147 @@
|
|||
{
|
||||
"type": "minecraft:jigsaw",
|
||||
"biomes": "#minecraft:has_structure/trial_chambers",
|
||||
"dimension_padding": 10,
|
||||
"liquid_settings": "ignore_waterlogging",
|
||||
"max_distance_from_center": 116,
|
||||
"pool_aliases": [
|
||||
{
|
||||
"type": "minecraft:random_group",
|
||||
"groups": [
|
||||
{
|
||||
"data": [
|
||||
{
|
||||
"type": "minecraft:direct",
|
||||
"alias": "minecraft:trial_chambers/spawner/contents/ranged",
|
||||
"target": "minecraft:trial_chambers/spawner/ranged/skeleton"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:direct",
|
||||
"alias": "minecraft:trial_chambers/spawner/contents/slow_ranged",
|
||||
"target": "minecraft:trial_chambers/spawner/slow_ranged/skeleton"
|
||||
}
|
||||
],
|
||||
"weight": 1
|
||||
},
|
||||
{
|
||||
"data": [
|
||||
{
|
||||
"type": "minecraft:direct",
|
||||
"alias": "minecraft:trial_chambers/spawner/contents/ranged",
|
||||
"target": "minecraft:trial_chambers/spawner/ranged/stray"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:direct",
|
||||
"alias": "minecraft:trial_chambers/spawner/contents/slow_ranged",
|
||||
"target": "minecraft:trial_chambers/spawner/slow_ranged/stray"
|
||||
}
|
||||
],
|
||||
"weight": 1
|
||||
},
|
||||
{
|
||||
"data": [
|
||||
{
|
||||
"type": "minecraft:direct",
|
||||
"alias": "minecraft:trial_chambers/spawner/contents/ranged",
|
||||
"target": "minecraft:trial_chambers/spawner/ranged/poison_skeleton"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:direct",
|
||||
"alias": "minecraft:trial_chambers/spawner/contents/slow_ranged",
|
||||
"target": "minecraft:trial_chambers/spawner/slow_ranged/poison_skeleton"
|
||||
}
|
||||
],
|
||||
"weight": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "minecraft:random",
|
||||
"alias": "minecraft:trial_chambers/spawner/contents/melee",
|
||||
"targets": [
|
||||
{
|
||||
"data": "minecraft:trial_chambers/spawner/melee/zombie",
|
||||
"weight": 1
|
||||
},
|
||||
{
|
||||
"data": "minecraft:trial_chambers/spawner/melee/husk",
|
||||
"weight": 1
|
||||
},
|
||||
{
|
||||
"data": "minecraft:trial_chambers/spawner/melee/spider",
|
||||
"weight": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "minecraft:random",
|
||||
"alias": "minecraft:trial_chambers/spawner/contents/small_melee",
|
||||
"targets": [
|
||||
{
|
||||
"data": "minecraft:trial_chambers/spawner/small_melee/slime",
|
||||
"weight": 1
|
||||
},
|
||||
{
|
||||
"data": "minecraft:trial_chambers/spawner/small_melee/cave_spider",
|
||||
"weight": 1
|
||||
},
|
||||
{
|
||||
"data": "minecraft:trial_chambers/spawner/small_melee/silverfish",
|
||||
"weight": 1
|
||||
},
|
||||
{
|
||||
"data": "minecraft:trial_chambers/spawner/small_melee/baby_zombie",
|
||||
"weight": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"size": 20,
|
||||
"spawn_overrides": {
|
||||
"ambient": {
|
||||
"bounding_box": "piece",
|
||||
"spawns": []
|
||||
},
|
||||
"axolotls": {
|
||||
"bounding_box": "piece",
|
||||
"spawns": []
|
||||
},
|
||||
"creature": {
|
||||
"bounding_box": "piece",
|
||||
"spawns": []
|
||||
},
|
||||
"misc": {
|
||||
"bounding_box": "piece",
|
||||
"spawns": []
|
||||
},
|
||||
"monster": {
|
||||
"bounding_box": "piece",
|
||||
"spawns": []
|
||||
},
|
||||
"underground_water_creature": {
|
||||
"bounding_box": "piece",
|
||||
"spawns": []
|
||||
},
|
||||
"water_ambient": {
|
||||
"bounding_box": "piece",
|
||||
"spawns": []
|
||||
},
|
||||
"water_creature": {
|
||||
"bounding_box": "piece",
|
||||
"spawns": []
|
||||
}
|
||||
},
|
||||
"start_height": {
|
||||
"type": "minecraft:uniform",
|
||||
"max_inclusive": {
|
||||
"absolute": -20
|
||||
},
|
||||
"min_inclusive": {
|
||||
"absolute": -40
|
||||
}
|
||||
},
|
||||
"start_pool": "minecraft:trial_chambers/chamber/end",
|
||||
"step": "underground_structures",
|
||||
"terrain_adaptation": "encapsulate",
|
||||
"use_expansion_hack": false
|
||||
}
|
||||
15
internal/worldgen/data/structure_json/village_desert.json
Normal file
15
internal/worldgen/data/structure_json/village_desert.json
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"type": "minecraft:jigsaw",
|
||||
"biomes": "#minecraft:has_structure/village_desert",
|
||||
"max_distance_from_center": 80,
|
||||
"project_start_to_heightmap": "WORLD_SURFACE_WG",
|
||||
"size": 6,
|
||||
"spawn_overrides": {},
|
||||
"start_height": {
|
||||
"absolute": 0
|
||||
},
|
||||
"start_pool": "minecraft:village/desert/town_centers",
|
||||
"step": "surface_structures",
|
||||
"terrain_adaptation": "beard_thin",
|
||||
"use_expansion_hack": true
|
||||
}
|
||||
15
internal/worldgen/data/structure_json/village_plains.json
Normal file
15
internal/worldgen/data/structure_json/village_plains.json
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"type": "minecraft:jigsaw",
|
||||
"biomes": "#minecraft:has_structure/village_plains",
|
||||
"max_distance_from_center": 80,
|
||||
"project_start_to_heightmap": "WORLD_SURFACE_WG",
|
||||
"size": 6,
|
||||
"spawn_overrides": {},
|
||||
"start_height": {
|
||||
"absolute": 0
|
||||
},
|
||||
"start_pool": "minecraft:village/plains/town_centers",
|
||||
"step": "surface_structures",
|
||||
"terrain_adaptation": "beard_thin",
|
||||
"use_expansion_hack": true
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue