Groundwater aquifer (valley springs):
- Per-region subsurface water table recharges from rainfall + lateral seepage
from uphill neighbours; valley floors (≥2 higher neighbours) develop springs
- GROUND_SPRING_EMERGES places a permanent water source block at the lowest
natural terrain point; vanilla fluid physics carries it downhill from there
- Active springs feed riverFlowIntensity for erosion even without rain
River current physics (real player forces):
- Every 4 ticks, players in flowing water receive a velocity push via
FluidState.getFlow() — the exact direction Minecraft's own rendering uses
- Force scales with fluid level: level 7 (near source) = strong; level 1 = gentle
Hydraulic erosion:
- HYDRAULIC_EROSION fires whenever flow intensity is significant, rain-independent
- Flowing water adjacent to stone/gravel/sand/dirt progressively softens it:
stone→gravel→sand→air; river valleys widen over time
Volcano lifecycle (DORMANT→BUILDING→ERUPTING→COOLING→FERTILE→DORMANT):
- High-elevation regions (avg surface Y ≥ 85) registered as potentially volcanic
- LAVA_FLOW places source blocks at summit; vanilla physics flows them downhill
- ASH_DEPOSIT covers surrounding terrain with tuff/gravel; kills surface plants;
ash clouds spread to adjacent regions with air pollution spike
- COBBLESTONE_FORMS solidifies lava: lava+water→cobblestone, lava+air→basalt
— creates permanent new terrain that did not exist before the eruption
- FERTILE phase: soil fertility +30, contamination −20, rapid pollution decay
- Volcanic ambience: fire crackling during eruption, deep rumble while building
New commands: /lw events (active climate events), /lw volcanoes (lifecycle states)
New ClimateEventType: VOLCANIC_ERUPTION
New WorldEffectTypes: GROUND_SPRING_EMERGES, HYDRAULIC_EROSION, LAVA_FLOW,
ASH_DEPOSIT, COBBLESTONE_FORMS
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
New systems (all with real in-world effects):
- Seasonal variation: spring growth surge, summer evaporation, autumn leaf fall, winter die-back — all affect actual VegetationRegionData/WaterRegionData/SoilRegionData each cycle
- Multi-region climate events: drought spreads across dry neighbours; wildfire triggers WILDFIRE + VEGETATION_DIES block effects and air pollution; flood places WATER_POOL_FORMS in downstream regions — all broadcast to players
- River erosion: accumulated runoff intensity triggers RIVER_CARVE world effect — water source blocks placed on natural terrain, channel depth increases over time (actual block changes)
- Tidal simulation: two tidal cycles per Minecraft day; rising/falling tide physically places/removes water source blocks on sand/gravel/stone shoreline at sea level
- Biome-aware initialisation: on first region entry, biome temperature + downfall set realistic soil fertility/moisture and water availability starting values
- Desertification permanence: sustained damage > 65 + health < 20 lowers succession cap by one stage; players notified via chat
- Region trend tracking: last 5 health samples per region; ↑↓→ arrow in compass HUD and /lw atmosphere output
- Seed rain in HUD: shows accumulated seed rain when > 0.5
- /lw map [radius]: ASCII coloured region grid showing succession stages for all nearby loaded regions
- Season enum expanded: temperatureMod, droughtMod, vegGrowthMod fields used by enhanced applySeasonalEffects()
- WorldEffectsModule: queueEffect() public method for external callers (bootstrap hooks, climate events)
- WorldEffectType: RIVER_CARVE type added
- README.md: comprehensive feature list, command reference, pipeline diagram, succession table
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>