v11 adds a real Forge client-side fog hook using ViewportEvent.RenderFog and ViewportEvent.ComputeFogColor. Fog density and color react to nearby Null entities through their entity tags. This is no longer only a lowcode datapack/resource-pack wrapper.
\nv12 fixes production SRG access by using reflection for Minecraft singleton, client fields and level entity iteration. Also fixes 1.20.1 function parse errors reported in logs.\n
v14 changes sign trace chance from 1/12 to 1/8 per successful Null spawn: less rare, still not common.

v16: manual summon no longer adds null_seen_delay, Null visual scale raised slightly to 1.05/0.95/1.05 with 0.95 vertical offset, and the 'Do not stand where it stands' actionbar message was removed.

v17 removes all direct /damage commands from Null functions. Contact/proximity events no longer hurt the player.

v20 fixes Twisted Paintings vanishing immediately: removed proximity cleanup and set lifetime to 1200 ticks.

v23 fixes two advancement false positives: Staircase Turning now requires actual stair blocks, and He Left a Trace is granted only if a redstone torch was actually placed. Added admin/revoke_bugged_advancements.

v24 fixes Broken Moon advancement: adds continuous night/outside witness check while moon_break_active is already active, plus admin/fix_broken_moon_advancement.

v25 removes all title/actionbar messages from Null Presence functions. Audio subtitles, sounds, particles, advancements, titles and subtitles remain untouched.
\nv26 fixes Window Watcher placement: it is aligned to the exterior window column, then snapped to an actual floor before spawning. Added admin/force_window_watcher.\n\nv27 fixes Window Watcher ledge spawning: uses a dedicated downward-only ground search starting two blocks below the exterior window point.\n\nv28 fixes Broken Moon advancement for 1.20.1: removes 1.21 old sky predicate predicate and uses a compatible night/open-air check. Added admin/force_broken_moon_advancement.\n\nv29: Window Watcher has a 1/6 variant. It keeps null_seen_delay until ~8s, places an oak sign in front after ~5s, and plays cave ambience.\n\nv30: adds generated custom ambience/music/Null OGG sounds and ambient tick; broadens stair watcher to stairwell context without requiring stair blocks; disables/removes Null black structures and adds admin/clear_nearby_null_structures.\n
v31 stable beta: direct-sky Broken Moon via heightmap distance; removed outdated sky predicate; no actionbar; Null structures disabled; safer cleanup command; removed return and negative scoreboard adds; ambient sounds toned down; herd cleanup hardened.

v32: Null ritual structures and rekindling disabled; manual cleanup includes blackstone/concrete/soul_lantern/redstone. Leafless Groves now create locatable markers; added admin/locate_leafless and admin/tp_leafless.

v33: Leafless Groves moved from tick/event modification to Forge biome modifier worldgen. They generate in new chunks only. Old locate marker commands now explain that placed features cannot be located via /locate in 1.20.1.

v34: fixes Leafless Grove worldgen crash. old column-based layer field corrected from provider to state for 1.20.1 configured_feature parsing.

v35: replaces fragile old column-based Leafless worldgen with robust random_patch/simple_block worldgen to avoid 1.20.1 registry parse crashes.

v36: intense Null apparition layer added. Spawn pulses, tension ramp, proximity heartbeat, short Darkness, stronger seen/despawn cue. No damage, no actionbar.

v37: adds silent action backspawns, rare base intrusions, and distant watchers. Silent backspawns make no sound and vanish when seen. Distant watchers face the player and vanish 5 seconds after direct sight.

v38: fixes v37 watcher systems bypassing spawn_days. Silent action backspawns, base intrusions and distant watchers now respect the configured spawn day delay.

v39: applies spawn_days gate to visible/paranormal haunt systems too, including vision flashes, moon horror, oppression tick, ambient haunts, fog mechanics and haunt advancements. Fixes Nightmare Logic being available on day 0.

v40: removes old Null mini-structures from spawn side-features. Null now leaves single redstone torches or rare redstone torch trails ending with a sign. Adds 15% bed nightmare after spawn delay. Converts all Null Presence challenge advancements to task.

v41: replaced/generated mod audio with new original synthetic horror sounds, added v41 variants to sounds.json, and redesigned admin/status + admin/config UI.

v42: fixes malformed admin/config execute lines from v41 by rebuilding admin/config and admin/status with valid run tellraw syntax.

v43: bugfix pass, paged config UI, expanded status navigation, and 85 new original synthetic horror sounds. No external audio files redistributed.
\nv44: adds Mine Tunnel Stalker. In underground tight tunnels, a valid attempt has 30% chance to silently spawn Null behind the player; it vanishes when looked at.\n
v45: absolute spawn_days hard guard. Before configured day, kills any active Null/Null visuals every tick and gates all direct null_main summons. all_on no longer changes spawn_days.

v46: fixes advancement cascade. All non-root advancements are manual impossible triggers, grants use a 60-tick anti-cascade lock, intense_presence no longer auto-grants on ordinary spawn, and all_on staggers event cooldowns.

v47: strict Stair Watcher. Staircase Turning now requires real stairs or a stronger vertical step pattern, and cancels near windows/glass/doors unless literally on stairs. Added admin/check_stair_context.

v48: adds Unpredictability layer. Irregular cooldowns, fake-outs, random sound pressure, redstone traces/trails, distant watcher/mine stalker attempts, and future cooldown warps. Respects spawn_days hard guard.
