RegionIO/internal/worldgen
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
..
data Add StructureManager and NBT template loader for large structures 2026-06-27 21:28:11 +03:00
aquifer.go Implement the vanilla Aquifer; stop flooding caves 2026-07-27 02:02:12 +03:00
bandlands.go Real badlands clay bands and a real biome temperature table 2026-07-27 02:31:10 +03:00
biome.go Initial commit: RegionIO Minecraft server core (26.1.2/protocol 775) 2026-06-24 00:32:51 +03:00
biome_temperature.go Real badlands clay bands and a real biome temperature table 2026-07-27 02:31:10 +03:00
biome_test.go Initial commit: RegionIO Minecraft server core (26.1.2/protocol 775) 2026-06-24 00:32:51 +03:00
blended.go Initial commit: RegionIO Minecraft server core (26.1.2/protocol 775) 2026-06-24 00:32:51 +03:00
blended_test.go Initial commit: RegionIO Minecraft server core (26.1.2/protocol 775) 2026-06-24 00:32:51 +03:00
blendedcompute_test.go Initial commit: RegionIO Minecraft server core (26.1.2/protocol 775) 2026-06-24 00:32:51 +03:00
blockids.go Bind the surface rule tree to the world seed 2026-07-27 02:25:09 +03:00
climate_sampler.go 3D per-cell biomes (4x4x4) with surface/underground/cave layers 2026-06-24 01:04:01 +03:00
density.go Parse aquifer and ore-vein noise routers 2026-07-27 01:44:45 +03:00
density_bench_test.go Initial commit: RegionIO Minecraft server core (26.1.2/protocol 775) 2026-06-24 00:32:51 +03:00
generated_blocks.go Add StructureManager and NBT template loader for large structures 2026-06-27 21:28:11 +03:00
improved_noise.go Initial commit: RegionIO Minecraft server core (26.1.2/protocol 775) 2026-06-24 00:32:51 +03:00
improved_noise_test.go Initial commit: RegionIO Minecraft server core (26.1.2/protocol 775) 2026-06-24 00:32:51 +03:00
loader.go Real badlands clay bands and a real biome temperature table 2026-07-27 02:31:10 +03:00
loadtest_test.go Initial commit: RegionIO Minecraft server core (26.1.2/protocol 775) 2026-06-24 00:32:51 +03:00
noise_test.go Initial commit: RegionIO Minecraft server core (26.1.2/protocol 775) 2026-06-24 00:32:51 +03:00
normal_noise.go Initial commit: RegionIO Minecraft server core (26.1.2/protocol 775) 2026-06-24 00:32:51 +03:00
perlin_noise.go Initial commit: RegionIO Minecraft server core (26.1.2/protocol 775) 2026-06-24 00:32:51 +03:00
random.go Parse aquifer and ore-vein noise routers 2026-07-27 01:44:45 +03:00
random_test.go Initial commit: RegionIO Minecraft server core (26.1.2/protocol 775) 2026-06-24 00:32:51 +03:00
randomstate.go Restore the subsurface layers: real above_preliminary_surface and surface depth 2026-07-27 02:15:14 +03:00
router_test.go Parse aquifer and ore-vein noise routers 2026-07-27 01:44:45 +03:00
simple.go Initial commit: RegionIO Minecraft server core (26.1.2/protocol 775) 2026-06-24 00:32:51 +03:00
spline.go Initial commit: RegionIO Minecraft server core (26.1.2/protocol 775) 2026-06-24 00:32:51 +03:00
structure.go Bind the surface rule tree to the world seed 2026-07-27 02:25:09 +03:00
structure_manager.go Fix structures tearing apart and floating due to inconsistent baseY calculations 2026-06-27 21:54:08 +03:00
surface.go Real badlands clay bands and a real biome temperature table 2026-07-27 02:31:10 +03:00
surface_level.go Parse aquifer and ore-vein noise routers 2026-07-27 01:44:45 +03:00
surface_system.go Restore the subsurface layers: real above_preliminary_surface and surface depth 2026-07-27 02:15:14 +03:00
surface_test.go Real badlands clay bands and a real biome temperature table 2026-07-27 02:31:10 +03:00
template_cache.go Add StructureManager and NBT template loader for large structures 2026-06-27 21:28:11 +03:00