RegionIO/internal
Master290 ed045ee09d Parse aquifer and ore-vein noise routers
The overworld noise_router ships fourteen keys; we read six. The eight left on
the floor are exactly the ones the aquifer, the ore veins and the preliminary
surface estimate need, so every one of those subsystems has been impossible to
write.

Wire the rest of the router into OverworldDensity: barrier,
fluid_level_floodedness, fluid_level_spread and lava for the aquifer,
vein_toggle/vein_ridged/vein_gap for the veins, and preliminary_surface_level
for both. Two node types were missing and are added with them --
minecraft:invert (the reciprocal, not negation: Mapped.Type ordinal 5 is
1.0/input) and minecraft:find_top_surface, which walks down from an upper bound
in cell_height steps looking for positive density.

PreliminarySurfaceLevelAt wraps that node the way NoiseChunk does: quart-align
the column, then memoise. The cache is per generator rather than per chunk
because the aquifer samples columns up to three chunks away, so neighbours
overlap heavily -- with a shared cache a chunk costs a few dozen evaluations
instead of a few thousand.

Also lifts sea_level, min_y, height and the aquifers/ore-veins flags out of the
settings file, and adds PositionalRandomFactory.At for the aquifer cell centres
(Mth.getSeed hashed into the low half of the factory seed).

No generator output changes yet: nothing reads the new keys.
2026-07-27 01:44:45 +03:00
..
nbt Initial commit: RegionIO Minecraft server core (26.1.2/protocol 775) 2026-06-24 00:32:51 +03:00
network Gate entities on client chunk residency 2026-07-21 11:25:24 +03:00
protocol Fix add entity velocity encoding 2026-07-21 10:30:28 +03:00
registry Implement multiplayer persistence and vanilla lighting 2026-07-21 09:21:44 +03:00
server Fix terrain streaming and surface spawning 2026-07-21 11:11:19 +03:00
world Stop the saved world from masking generator changes 2026-07-27 01:28:05 +03:00
worldgen Parse aquifer and ore-vein noise routers 2026-07-27 01:44:45 +03:00