George b68390983c Add TOML config, region borders, seed dispersal corridors, wind, and ambient sound
1. TOML config (livingworld-server.toml) — NeoForgeModConfig registers a
   server-side config spec exposing all major tuning constants: pollution
   decay/spread, vegetation growth/dieoff rates, recovery rates, and seed
   dispersal params. EcosystemTuning wires these into the service registry
   (CoreServices.TUNING); PollutionModule, VegetationModule, RecoveryModule
   all read from it so admins can tune without recompiling.

2. Persistence audit — CodecKeys confirmed complete and correct for all 8
   data-bearing modules. The 4-arg RecoveryRegionData constructor (from
   the prior session) correctly preserves maxSuccessionStage on every path.
   No structural issues found.

3. /lw region borders [regionX regionZ] — draws cyan DustParticle lines
   along all 4 edges of the region at surface height (32 samples per edge,
   ~4 blocks apart on the 128-block edge).

4. Pollution spreading — already in place via wind-based air diffusion.
   Extended: applyWaterRunoff now also transports ground pollution
   downstream (15 % of ground pollution × runoff rate) with a small water
   bleed, so contaminated upland regions poison their downhill neighbours.

5. Sound ambience — per-region throttled (≥8 check-intervals between
   plays). Forest (YOUNG_WOODLAND+, health>50): azalea leaves rustling.
   Barren (SPARSE_GRASS-): dry sand step. Heavy pollution (score>50):
   basalt deltas mood. Direct ClientboundSoundPacket per player so other
   nearby players aren't spammed.

6. Seed dispersal & ecological corridors — applySeedDispersal() runs each
   post-sim cycle. Healthy regions (YOUNG_WOODLAND+) stochastically emit
   seeds to all 4 neighbours proportional to vegetationPressure. Pollution
   in the target blocks seeds. Corridor effect: if the target has 2+ healthy
   neighbours, seed strength × corridorBoostMultiplier (default 3.5×).
   When accumulated seed rain ≥ 5.0 the target's succession cap is
   pioneered one stage ahead of what physical conditions alone would allow.
   /lw wind shows current wind angle and spread rate.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-09 20:31:56 +01:00
2026-06-07 12:18:45 +01:00
2026-06-07 12:18:45 +01:00
2026-06-07 12:18:45 +01:00
2026-06-07 12:18:45 +01:00
2026-06-07 12:18:45 +01:00
2026-06-07 12:18:45 +01:00
2026-06-07 12:22:59 +01:00
2026-06-07 12:18:45 +01:00
2026-06-07 12:18:45 +01:00
2026-06-07 12:18:45 +01:00
S
Description
No description provided
42 MiB
Languages
Java 75%
HTML 24%
JavaScript 0.6%
CSS 0.4%