c82a2afc4fcf8a328e7c4d769c97a9f23b6a1203
Seasons (Step 1) - Season enum (SPRING/SUMMER/AUTUMN/WINTER) derived from gameTime / 24000 / 8. - AtmosphereModule applies seasonal rain modifier: spring +10%, summer -15%, winter -25%. Cascades naturally through water → soil → succession. - Bootstrap post-sim pass: spring boosts soil fertility (+0.003/cycle), winter draws moisture out of topsoil (-0.002/cycle). Player pollution effects (Step 2) - Poll > 40: nausea (MobEffects.CONFUSION in 1.21.1); > 60: slowness; > 80: weakness. - Duration 100 ticks, refreshed each PLAYER_CHECK_INTERVAL (1 s). Expires 5 s after the player leaves the polluted region. Wildfire (Step 3) - WILDFIRE added to WorldEffectType. - WorldEffectsModule emits WILDFIRE when droughtRisk > 70 AND thunderLevel > 0.5 with 1% probability per sim cycle. - NeoForgeWorldEffectExecutor places fire blocks on surface grass/leaves/logs; Minecraft fire spreading takes over from there. Fog (Step 4) - When pollutionScore > 40, 1–3 SMOKE particles sent per check interval at player eye-level via ServerLevel.sendParticles(player, ...) — per-player only, not broadcast to everyone. Water body passive boost (Step 5) - On first entry to a region, hasWaterBody() samples 30 surface positions. If ≥5 are water, applyWaterBodyBoost() permanently raises purification capacity +15, water availability +10, and lowers drought risk -10. /lw atmosphere command (Step 6) - Shows: Region (x,z) | Season: Spring | Rain: 72% | Storm: 18% - Wired via Function<CommandSourceStack, String> atmosphereStatus parameter added to LivingWorldCommandRoot.registerDeferred(). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Description
No description provided
Languages
Java
75%
HTML
24%
JavaScript
0.6%
CSS
0.4%