RegionIO/internal/world
Master290 3a255b52e1 Real badlands clay bands and a real biome temperature table
The bandlands rule cycled four terracotta colours off a per-column random draw.
Vanilla generates a 192-entry band table once per world, from a random source
named clay_bands, and reads it at the block's height shifted by the
clay_bands_offset noise. Brown, red and light grey terracotta were never placed
anywhere; the stripes were the wrong thickness and did not line up between
neighbouring columns. All seven colours now appear.

The temperature condition matched a hand-written list of eleven biome names.
Replacing it with the temperature field read out of the jar's 65 biome JSONs
fixes one of them: deep_frozen_ocean reads cold by name but its base
temperature is 0.5, so vanilla does not freeze it. taiga and the pine taigas
were the other way round -- excluded by name, and correctly so, but by
coincidence rather than by data.

Two parts of the vanilla calculation are left out and documented where they
belong: the height adjustment that cools peaks, and the "frozen" modifier that
warms scattered patches of frozen ocean. Both need PerlinSimplexNoise. Neither
is reachable from the overworld tree in a way that shows: the single condition
that consults temperature sits under a frozen_ocean biome check, below a water
check, and decides whether a hole in the ocean floor ices over. The snowy
mountain tops come from biome selection, not from here -- which is not what the
plan for this commit assumed.

The per-column *rand.Rand threaded through SurfaceContext goes away with the
old bandlands rule; nothing needs it now that vertical_gradient rolls
positionally.
2026-07-27 02:31:10 +03:00
..
testdata Implement multiplayer persistence and vanilla lighting 2026-07-21 09:21:44 +03:00
aquifer_verify_test.go Implement the vanilla Aquifer; stop flooding caves 2026-07-27 02:02:12 +03:00
banding_verify_test.go Restore the subsurface layers: real above_preliminary_surface and surface depth 2026-07-27 02:15:14 +03:00
bench_test.go Initial commit: RegionIO Minecraft server core (26.1.2/protocol 775) 2026-06-24 00:32:51 +03:00
biome_3d_test.go 3D per-cell biomes (4x4x4) with surface/underground/cave layers 2026-06-24 01:04:01 +03:00
biome_bench_test.go 3D per-cell biomes (4x4x4) with surface/underground/cave layers 2026-06-24 01:04:01 +03:00
biome_lookup.go Biome-aware surface rules from the vanilla rule tree 2026-06-24 19:44:07 +03:00
biome_lookup_test.go 3D per-cell biomes (4x4x4) with surface/underground/cave layers 2026-06-24 01:04:01 +03:00
biome_parameters.json Initial commit: RegionIO Minecraft server core (26.1.2/protocol 775) 2026-06-24 00:32:51 +03:00
blocks.json Chunk persistence to Anvil .mca region files 2026-06-25 00:40:14 +03:00
cache.go Fix terrain streaming and surface spawning 2026-07-21 11:11:19 +03:00
cache_light.go Fix terrain streaming and surface spawning 2026-07-21 11:11:19 +03:00
cache_light_reuse_test.go Fix terrain streaming and surface spawning 2026-07-21 11:11:19 +03:00
cache_test.go Implement multiplayer persistence and vanilla lighting 2026-07-21 09:21:44 +03:00
cache_tickets.go Implement ticketed chunk lifecycle 2026-07-21 10:04:56 +03:00
cache_tickets_test.go Implement ticketed chunk lifecycle 2026-07-21 10:04:56 +03:00
chunk.go Implement multiplayer persistence and vanilla lighting 2026-07-21 09:21:44 +03:00
compress.go Implement multiplayer persistence and vanilla lighting 2026-07-21 09:21:44 +03:00
deepslate_verify_test.go Bind the surface rule tree to the world seed 2026-07-27 02:25:09 +03:00
encode.go Implement the vanilla Aquifer; stop flooding caves 2026-07-27 02:02:12 +03:00
encode_test.go Write biome palettes in the form the client actually reads 2026-07-27 01:28:04 +03:00
entity.go Implement multiplayer persistence and vanilla lighting 2026-07-21 09:21:44 +03:00
features.go Implement multiplayer persistence and vanilla lighting 2026-07-21 09:21:44 +03:00
golden_test.go Implement multiplayer persistence and vanilla lighting 2026-07-21 09:21:44 +03:00
item_blocks.json Initial commit: RegionIO Minecraft server core (26.1.2/protocol 775) 2026-06-24 00:32:51 +03:00
items.go Initial commit: RegionIO Minecraft server core (26.1.2/protocol 775) 2026-06-24 00:32:51 +03:00
light.go Implement ticketed chunk lifecycle 2026-07-21 10:04:56 +03:00
light_properties.bin Implement multiplayer persistence and vanilla lighting 2026-07-21 09:21:44 +03:00
light_properties.go Implement multiplayer persistence and vanilla lighting 2026-07-21 09:21:44 +03:00
light_test.go Implement multiplayer persistence and vanilla lighting 2026-07-21 09:21:44 +03:00
regionfile.go Implement multiplayer persistence and vanilla lighting 2026-07-21 09:21:44 +03:00
spawn_surface_test.go Fix terrain streaming and surface spawning 2026-07-21 11:11:19 +03:00
state_names.go Fix terrain streaming and surface spawning 2026-07-21 11:11:19 +03:00
store.go Real badlands clay bands and a real biome temperature table 2026-07-27 02:31:10 +03:00
store_test.go Stop the saved world from masking generator changes 2026-07-27 01:28:05 +03:00
surface_verify_test.go Biome-aware surface rules from the vanilla rule tree 2026-06-24 19:44:07 +03:00
terrain.go Implement multiplayer persistence and vanilla lighting 2026-07-21 09:21:44 +03:00
terrain_bench_test.go Initial commit: RegionIO Minecraft server core (26.1.2/protocol 775) 2026-06-24 00:32:51 +03:00
terrain_debug_test.go Initial commit: RegionIO Minecraft server core (26.1.2/protocol 775) 2026-06-24 00:32:51 +03:00
vanilla.go Real badlands clay bands and a real biome temperature table 2026-07-27 02:31:10 +03:00
vanilla_bench_test.go Initial commit: RegionIO Minecraft server core (26.1.2/protocol 775) 2026-06-24 00:32:51 +03:00
vanilla_parity_test.go Initial commit: RegionIO Minecraft server core (26.1.2/protocol 775) 2026-06-24 00:32:51 +03:00