4.0.0
What's Changed
- Add method-level javadocs by @Thunderrock424242 in #11
- Merge build step into runtime checks by @Thunderrock424242 in #17
- Add basic network handler by @Thunderrock424242 in #13
- Fix compile errors in loottable package by @Thunderrock424242 in #22
- Fix group ID in gradle properties by @Thunderrock424242 in #21
- Add bunker protection handler by @Thunderrock424242 in #18
- Add sleepable cryo tube by @Thunderrock424242 in #23
- Fix build errors by @Thunderrock424242 in #24
- Add helper for terrain replacement by @Thunderrock424242 in #25
- Improve water bucket flow by @Thunderrock424242 in #26
- Fix mixin improvements without config by @Thunderrock424242 in #27
- Fix PlayerTickEvent handler by @Thunderrock424242 in #29
- Fix CodeQL build mode by @Thunderrock424242 in #30
- Adds World Versioning System by @JaaiDead in #31
- Implement structure-based bunker spawning by @Thunderrock424242 in #33
- Spawn players near meteor by @Thunderrock424242 in #34
- Add mod list history and version command by @Thunderrock424242 in #35
- Fix run workflows by @Thunderrock424242 in #40
- feat/Added World Versioning System by @JaaiDead in #38
- Improve bunker world gen and protection by @Thunderrock424242 in #37
- Remove outdated worldgen code by @Thunderrock424242 in #41
- Adds World Versioning System.- Chat Toast by @JaaiDead in #42
- Adds World Versioning System.- bugfix by @JaaiDead in #44
- Fix campfire smoke ignoring roofs by @Thunderrock424242 in #46
- Fix schematic format handling by @Thunderrock424242 in #47
- Add schematic loot table scanning by @Thunderrock424242 in #45
- Persist donation and server ad opt-outs across versions by @Thunderrock424242 in #48
- Fix cryo tube block rendering and spawn hookup by @Thunderrock424242 in #49
- Fix missing braces in structure placers by @Thunderrock424242 in #50
- Avoid early config access in donation reminders by @Thunderrock424242 in #51
- Fix cryo tube resource references by @Thunderrock424242 in #52
- Fix cryotube texture paths by @Thunderrock424242 in #53
- Fix cryo tube texture and bounding box by @Thunderrock424242 in #54
- Add dedicated terrain replacer block by @Thunderrock424242 in #55
- Add facing blockstate for cryo tube by @Thunderrock424242 in #56
- Fix cryo tube asset naming by @Thunderrock424242 in #57
- Fix schem loading with WorldEdit by @Thunderrock424242 in #59
- Avoid duplicate bunker structure placement by @Thunderrock424242 in #60
- Fix cryo tube item model size and textures by @Thunderrock424242 in #61
- fix: guard WorldEdit structure placement before init by @Thunderrock424242 in #64
- feat: separate conflict logging by @Thunderrock424242 in #65
- feat: increase internal logging by @Thunderrock424242 in #66
- feat: turn cryo tube into block entity by @Thunderrock424242 in #67
- fix: defer worldedit block type access by @Thunderrock424242 in #68
- Fix WorldEdit readiness check for bunker placement by @Thunderrock424242 in #69
- Add door lock timer command and events by @Thunderrock424242 in #73
- Run CodeQL for Java and GitHub Actions by @Thunderrock424242 in #74
- feat: add dev-mode and door lock removal by @Thunderrock424242 in #75
- feat: extend API for compatibility and structure utilities by @Thunderrock424242 in #76
- Handle missing WorldEdit more gracefully by @Thunderrock424242 in #77
- Adds World Versioning System.- bugfix 2 by @JaaiDead in #78
- Require cryo tube in bunker schematics by @Thunderrock424242 in #81
- Add pack metadata for resources by @Thunderrock424242 in #80
- Ensure doors close when locked and timer sticks glow by @Thunderrock424242 in #79
- Fix cryo tube model texture paths by @Thunderrock424242 in #82
- Expand cryo tube bounding box by @Thunderrock424242 in #83
- Add cryo tube sleep limit and waking API by @Thunderrock424242 in #84
- Fix cryo tube placement and bounding box by @Thunderrock424242 in #85
- Skip spawn adjustments in Peaceful difficulty by @Thunderrock424242 in #86
- Enable translucent cryo tube glass by @Thunderrock424242 in #87
- Add destructive sky torch beam effect by @Thunderrock424242 in #88
- Add custom creative tab with amethyst icon by @Thunderrock424242 in #90
- Render translucent hint for cloaked entities by @Thunderrock424242 in #89
- Add destructive sky torch beam effect by @Thunderrock424242 in #91
- Fix compilation errors by @Thunderrock424242 in #92
- Add destructive sky torch beam effect by @Thunderrock424242 in #93
- Add memory allocation advisor and peak usage tracker by @Thunderrock424242 in #94
- Optimize campfire effects and reduce log spam by @Thunderrock424242 in #95
- Throttle spawn block search by @Thunderrock424242 in #96
- refactor: replace deprecated BlockVector3 getters by @Thunderrock424242 in #97
- Fix memory utils compilation issues by @Thunderrock424242 in #100
- Reduce tick overhead by @Thunderrock424242 in #99
- Fix compile errors in spawn handler and memory utils by @Thunderrock424242 in #101
- Move spawn debug logs to trace by @Thunderrock424242 in #102
- Finalize WorldEdit paste operations for persistent structures by @Thunderrock424242 in #104
- Add world generation scan command for diagnostics by @Thunderrock424242 in #105
- Run CodeQL on all branches by @Thunderrock424242 in #109
- Improve worldgenscan command output by @Thunderrock424242 in #110
- Run CodeQL on all branches by @Thunderrock424242 in #113
- Improve worldgenscan command output by @Thunderrock424242 in #112
- feat: show structure info in swing window by @Thunderrock424242 in #111
- Run CodeQL on all branches by @Thunderrock424242 in #117
- docs: clarify utility classes by @Thunderrock424242 in #118
- Improve FAQ search and listing by @Thunderrock424242 in #119
- Add placeholder AI client and configuration by @Thunderrock424242 in #120
- Fix cryo tube block placement alignment by @Thunderrock424242 in #122
- Integrate WorldEdit meteor site schematic by @Thunderrock424242 in #123
- Avoid blocking spawn scans and WorldEdit waits by @Thunderrock424242 in #121
- Fix meteor structure spawner compilation by @Thunderrock424242 in #124
- Handle malformed FAQ data gracefully by @Thunderrock424242 in #125
- Throttle non-monster spawn debug log by @Thunderrock424242 in #126
- Align cryo tube placement with player facing by @Thunderrock424242 in #127
- Ensure bunker cryo tubes exist and add debug spawn override by @Thunderrock424242 in #128
- Handle headless environments for mod diff viewer by @Thunderrock424242 in #129
- Optimize partner advertisement scheduling by @Thunderrock424242 in #131
- Ensure bunkers spawn early in accessible biomes by @Thunderrock424242 in #130
- Cache schematics and registry lookups for WorldEdit placements by @Thunderrock424242 in #132
- Fix debugIgnoreCryoTubeSpawns bypass logic by @Thunderrock424242 in #133
- Fix WorldEdit readiness timeout check by @Thunderrock424242 in #134
- Add shader pack recommendations to hardware tiers by @Thunderrock424242 in #136
- Ensure meteor bunker placement completes before player spawn by @Thunderrock424242 in #135
- Add client command to auto-configure Iris shaders by @Thunderrock424242 in #137
- Make hardware requirements summary scrollable by @Thunderrock424242 in #138
- Relocate hardware summary Done button to avoid overlapping text by @Thunderrock424242 in #139
- Remove Done button from hardware requirements screen by @Thunderrock424242 in #140
- Prevent hardware requirements screen from pausing the game by @Thunderrock424242 in #141
- Fix hardware screen blur by @Thunderrock424242 in #142
- Add manual shader tier selection to autoshader command by @Thunderrock424242 in #143
- Reset meteor and bunker placement state between worlds by @Thunderrock424242 in #144
- Avoid recursive meteor placement scheduling by @Thunderrock424242 in #145
- Force chunks for meteor impact WorldEdit placement by @Thunderrock424242 in #146
- Schedule bunker placement via deferred task queue by @Thunderrock424242 in #147
- Handle WorldEdit mod id variants for structure spawning by @Thunderrock424242 in #148
- Enhance structure block capture behaviour by @Thunderrock424242 in #149
- Fix StructureBlockEntity mixin initialization by @Thunderrock424242 in #150
- Fix StructureBlock saveStructure injection signature by @Thunderrock424242 in #151
- Fix structure block corner placement shadow by @Thunderrock424242 in #153
- Fix structure block mixin for 1.21.1 signature by @Thunderrock424242 in #154
- Fix StructureBlockEntity mixin for 1.21.1 by @Thunderrock424242 in #155
- Restore StructureBlockEntity mixin structureName shadow by @Thunderrock424242 in #156
- Handle structure block corner markers during detection by @Thunderrock424242 in #157
- Fix StructureBlockEntity mixin shadow signature by @Thunderrock424242 in #158
- Expand structure block corner detection range by @Thunderrock424242 in #159
- Limit structure detection to connected blocks by @Thunderrock424242 in #160
- Expand structure block load clamp by @Thunderrock424242 in #161
- Improve structure block overlay visibility by @Thunderrock424242 in #162
- Include structure block in bounding calculations by @Thunderrock424242 in #163
- Constrain structure detection to corner-defined bounds by @Thunderrock424242 in #164
- Extend structure block overlay visibility range by @Thunderrock424242 in #165
- Hardcode structure block limit expansion by @Thunderrock424242 in #166
- Fix structure block packet to transmit expanded bounds by @Thunderrock424242 in #167
- Skip meteor structure placement in existing worlds by @Thunderrock424242 in #168
- Add large structure placement optimizer utility by @Thunderrock424242 in #169
- Add cache-backed structure block corner lookup by @Thunderrock424242 in #171
- Add persistent modpack data cache infrastructure by @Thunderrock424242 in #170
- Fix structure block cache sync injection target by @Thunderrock424242 in #172
- Fix structure block cache lifecycle hooks by @Thunderrock424242 in #173
- Fix structure block load hook signature by @Thunderrock424242 in #174
- Fix mixin bridge package by @Thunderrock424242 in #175
- Register config events on the mod bus by @Thunderrock424242 in #176
- Assign unique config filenames by @Thunderrock424242 in #177
- Add config registration guard by @Thunderrock424242 in #178
- Move POI conflicts into dedicated checker by @Thunderrock424242 in #179
- Implement heuristic performance advisor for heavy ticks by @Thunderrock424242 in #180
- Add HTTP/JSON tooling for AI advisory helpers by @Thunderrock424242 in #181
- Organize configs and add debug spawn toggles by @Thunderrock424242 in #182
- Add human-approved AI performance mitigations by @Thunderrock424242 in #183
- Fix LevelTickEvent handler for NeoForge by @Thunderrock424242 in #184
- Add Atlas wake-word activation and voice stub by @Thunderrock424242 in #186
- Implement async task system by @Thunderrock424242 in #185
- Use EntityTickEvent for tick listener registration by @Thunderrock424242 in #187
- Add Atlas wake-word chat responses by @Thunderrock424242 in #188
- Enhance story AI with survival guidance by @Thunderrock424242 in #189
- Document self-hosted Atlas chatbot setup by @Thunderrock424242 in #190
- Add configurable AI personality and lore settings by @Thunderrock424242 in #191
- Add documentation for global chat setup and the global chat system by @Thunderrock424242 in #192
- Add anchor relay command and default global chat endpoint by @Thunderrock424242 in #193
- Bundle runtime JSON libraries by @Thunderrock424242 in #194
- Ensure bundled libraries available on runtime classpath by @Thunderrock424242 in #195
- Add Okio runtime bundling for global chat Moshi dependency by @Thunderrock424242 in #196
- Enhance anti-cheat configuration and checks by @Thunderrock424242 in #197
- Ensure bundled libs on dev runtime classpath by @Thunderrock424242 in #198
- Serialize nulls with Gson for global chat compatibility by @Thunderrock424242 in #199
- Add dedicated opt-in commands and login prompt for global chat by @Thunderrock424242 in #201
- Add leveling marker support for structure placement by @Thunderrock424242 in #200
- Keep structure overlays visible from distant corners by @Thunderrock424242 in #202
- Increase tolerance for NBT parsing timeouts by @Thunderrock424242 in #203
- Ensure NBT parse timeout is raised via mixin by @Thunderrock424242 in #204
- Populate AI advisor action queue from performance observations by @Thunderrock424242 in #205
- Optimize structure metadata extraction from templates by @Thunderrock424242 in #206
- Retarget NBT timeout mixin to TagParser by @Thunderrock424242 in #207
- Raise NBT parse timeout limit by @Thunderrock424242 in #208
- Enhance AI advisor action formatting by @Thunderrock424242 in #211
- Refine leveling marker handling by @Thunderrock424242 in #210
- Fix mitigation ID generation and subsystem checks by @Thunderrock424242 in #213
- Handle global chat executor recreation after shutdown by @Thunderrock424242 in #212
- Avoid repeating meteor impact placement at failed origins by @Thunderrock424242 in #214
- Use common plains biome tag for meteor placement by @Thunderrock424242 in #215
- Add plains spawn structure set for meteor impact sites by @Thunderrock424242 in #216
- Add missing localization entries by @Thunderrock424242 in #217
- Fix builtin datapack registration for NeoForge 1.21 by @Thunderrock424242 in #218
- Add null check before locating builtin datapack by @Thunderrock424242 in #219
- Fix impact zone start pool reference by @Thunderrock424242 in #220
- Add salt to impact zone structure set by @Thunderrock424242 in #221
- Add plains spawn datapack overworld registration by @Thunderrock424242 in #222
- Force plains spawn datapack to load at highest priority by @Thunderrock424242 in #223
- Allow land biome meteor scanning by @Thunderrock424242 in #224
- Add default meteor impact datapack anchor near spawn by @Thunderrock424242 in #225
- Register bunker structure features for worldgen by @Thunderrock424242 in #227
- Document bundling impact and bunker datapacks in the mod jar by @Thunderrock424242 in #226
- Fix bunker feature registration initialization for bunker structure by @Thunderrock424242 in #228
- Fix custom structure holder usage by @Thunderrock424242 in #229
- Register bunker and impact structures by @Thunderrock424242 in #230
- Fix structure heightmap provider definitions by @Thunderrock424242 in #231
- Persist per-player analytics via relay by @Thunderrock424242 in #232
- revamped structure system by @Thunderrock424242 in #233
- Fix terrain survey processor override signature by @Thunderrock424242 in #234
- Fix template pool entries for bunker and impact zone by @Thunderrock424242 in #235
- Refactor bunker worldgen pipeline by @Thunderrock424242 in #236
- Add bunker configured and placed feature data by @Thunderrock424242 in #237
- Add biome tags to enable bunker and impact zone spawning by @Thunderrock424242 in #238
- Fix bunker biome modifier for structure placement by @Thunderrock424242 in #239
- Remove unsupported NeoForge bunker biome modifier by @Thunderrock424242 in #240
- Add safeguards around structure placement markers by @Thunderrock424242 in #241
- Respect terrain replacer config in survey processor by @Thunderrock424242 in #242
- Require marker wool for terrain replacer by @Thunderrock424242 in #244
- Implement chunk streaming pipeline by @Thunderrock424242 in #243
- Remove unsupported biome modifier definitions by @Thunderrock424242 in #246
- Fix chunk cache path initialization by @Thunderrock424242 in #245
- Handle empty structure templates by @Thunderrock424242 in #247
- Fix structure block detection to avoid incompatible lambda by @Thunderrock424242 in #248
- Rewrite worldgen placement pipeline with debug tooling by @Thunderrock424242 in #249
- Disable terrain replacer by default for NBT validation by @Thunderrock424242 in #250
- Set explicit bounds when placing templates by @Thunderrock424242 in #251
- Inject bunker feature during biome loading by @Thunderrock424242 in #252
- Add configurable tide system by @Thunderrock424242 in #253
- Add dedicated conflict detector for mod class overlaps and thread deadlocks by @Thunderrock424242 in #254
- Refactor spawning to cryo tubes and remove bunker generation by @Thunderrock424242 in #256
- Handle tide config before load by @Thunderrock424242 in #255
- Ensure Create glue entities are copied in WorldEdit pastes by @Thunderrock424242 in #257
- Integrate terrain replacer with Starter Structure generation by @Thunderrock424242 in #258
- Fix Starter Structure mixin targets by @Thunderrock424242 in #259
- Restrict cryo spawn configuration to overworld by @Thunderrock424242 in #260
- Restore schem entities for Starter Structure by @Thunderrock424242 in #261
- Fix StarterStructure mixin local capture order by @Thunderrock424242 in #262
- Fix starter structure entity restoration and terrain adapter gating by @Thunderrock424242 in #263
- Add chunk streaming benchmarks and profiling harness by @Thunderrock424242 in #264
- Handle chunk stream flush on save events by @Thunderrock424242 in #265
- Add dirty segment tracking for chunk save batching by @Thunderrock424242 in #266
- Compact custom NBT payloads and prune mod tracking history by @Thunderrock424242 in #267
- Add scheduled chunk write batching and flush handling by @Thunderrock424242 in #268
- Add versioned saved data with migration support by @Thunderrock424242 in #269
- Add chunk capability for per-chunk mod state by @Thunderrock424242 in #270
- Add chunk debug diagnostics and trace logging by @Thunderrock424242 in #271
- Add chunk delta tracking and light band compression by @Thunderrock424242 in #272
- Implement slice interning and warm cache tick throttling by @Thunderrock424242 in #273
- Add chunk lifecycle state machine and cache controls by @Thunderrock424242 in #275
- Add configurable IO executors and buffer pools by @Thunderrock424242 in #274
- Add compact analytics sync view and delta payloads by @Thunderrock424242 in #276
- Fix chunk streaming configuration and IO handling by @Thunderrock424242 in #277
- Migrate chunk data to attachments and update chunk storage by @Thunderrock424242 in #278
- Align integration test classpath with main NeoForge deps by @Thunderrock424242 in #279
- Handle chunk streaming config defaults in tests by @Thunderrock424242 in #280
- Configure mixin refmap generation by @Thunderrock424242 in #281
- Add emissive layer support to cryo tubes by @Thunderrock424242 in #282
- Remove bundled starter bunker schematic asset by @Thunderrock424242 in #283
- Add official-name obfuscation service for mixin processing by @Thunderrock424242 in #284
- Add c structure tag for impact site by @Thunderrock424242 in #285
- Fix LevelChunk mixin shadow target by @Thunderrock424242 in #286
- Fix LevelChunk mixin chunk position shadow failure by @Thunderrock424242 in #287
- Fix chunk tick throttling for ServerLevel tickChunk by @Thunderrock424242 in #289
- Enhance AI performance advisor with chunk streaming telemetry by @Thunderrock424242 in #288
- Harden relay authentication and analytics storage by @Thunderrock424242 in #290
- Add hostile spawn guard for starter bunkers and improve compat by @Thunderrock424242 in #291
- Refine loading stall detector with mod jar suspects by @Thunderrock424242 in #292
- Gracefully handle missing compression codec dependencies by @Thunderrock424242 in #293
- Improve loading stall time formatting by @Thunderrock424242 in #294
- Simplify loading stall detector timing math by @Thunderrock424242 in #295
- Add tick formatting helpers for loading stall detector by @Thunderrock424242 in #296
- Handle missing compression codec dependencies by @Thunderrock424242 in #297
- Handle IO executor saturation gracefully by @Thunderrock424242 in #298
- Improve chunk IO backpressure and async resiliency by @Thunderrock424242 in #299
- Blend starter bunker into terrain without terrain replacer by @Thunderrock424242 in #300
- Restore starter bunker entities and bury structure by @Thunderrock424242 in #302
- Add world-scoped chunk cache path and improve streaming coalescing by @Thunderrock424242 in #301
- Fix starter structure entity capture timing by @Thunderrock424242 in #303
- Throttle memory debug logging cadence by @Thunderrock424242 in #304
- Use WorldEdit to place starter bunker schematics by @Thunderrock424242 in #305
- Allow GameTests to load schem structures directly by @Thunderrock424242 in #308
- Add schemTest coverage for schematic loader fallback by @Thunderrock424242 in #309
- Fix palette accessor mixin for structure templates by @Thunderrock424242 in #310
- Refactor bunker placement to vanilla spawn event by @Thunderrock424242 in #312
- Handle missing bunker template load by @Thunderrock424242 in #313
- Unify starter structure schematic pipeline by @Thunderrock424242 in #314
- Add optimization migration guidance by @Thunderrock424242 in #315
- Fix compilation issues after migration by @Thunderrock424242 in #316
- Add Create schematic cannon fallback for starter bunker by @Thunderrock424242 in #317
- Remove Starter Structure mod compatibility by @Thunderrock424242 in #318
- Fix Create schematic cannon placement by @Thunderrock424242 in #319
- Preserve template entities during bunker placement by @Thunderrock424242 in #320
- Expand structure bounding box to keep contraptions by @Thunderrock424242 in #321
- Copy schematic entities into GameTests by @Thunderrock424242 in #322
- Prime Create elevator pulleys after structure placement by @Thunderrock424242 in #323
- Handle Create elevator pulleys without strict class check by @Thunderrock424242 in #324
- Gate AI chat responses on holding red wool by @Thunderrock424242 in #325
- Optimize NBT resource encoding and chunk slice allocation by @Thunderrock424242 in #326
- Remove preset AI templates; use dynamic history/personality responses and add local model support by @Thunderrock424242 in #327
- Align bunker placement to surface, deny spawns in placement bounds, and clear grass in footprint by @Thunderrock424242 in #328
- Fix AABB construction for spawn deny zones by @Thunderrock424242 in #329
- Bundle SnakeYAML into mod jar to fix runtime NoClassDefFoundError by @Thunderrock424242 in #330
- Add SnakeYAML fallback parsing for AI config by @Thunderrock424242 in #332
- Skip excluded blocks during terrain replacement sampling by @Thunderrock424242 in #333
- Fix anchored structure placement height for blue wool markers by @Thunderrock424242 in #334
- Clamp blue wool leveling marker to minimum Y=64 by @Thunderrock424242 in #335
- Queue Atlas replies, remove echoed input, and disable stub voice output by @Thunderrock424242 in #336
- Enforce bunker leveling marker Y range (62–65) for anchored and standard placements by @Thunderrock424242 in #337
- Backfill and cap surface above spawn bunker and drain interior water by @Thunderrock424242 in #338
- Adjust bunker placement rules by @Thunderrock424242 in #339
- Fix bunker dirt layer placement at blue wool level by @Thunderrock424242 in #340
- Only replace dirt for bunker air by @Thunderrock424242 in #341
- Allow bunker template air blocks to clear space by @Thunderrock424242 in #342
- Prevent bunker air from overwriting solids by @Thunderrock424242 in #343
- Limit bunker terrain replacement to grass by @Thunderrock424242 in #344
- Restrict bunker terrain replacement to surface marker layer by @Thunderrock424242 in #346
- Restrict bunker terrain replacement to surface marker layer by @Thunderrock424242 in #347
- Feather terrain auto-blend around structures by @Thunderrock424242 in #345
- Queue Atlas replies to server tick and simplify AI responses by @Thunderrock424242 in #348
- Stop terrain modifications for spawn bunker placement by @Thunderrock424242 in #349
- Avoid ocean-adjacent spawn bunkers by @Thunderrock424242 in #350
- Add persistent AI learning store and surface learned facts in Atlas replies by @Thunderrock424242 in #351
- Enable richer Ollama context for AI chatbot by @Thunderrock424242 in #353
- Avoid auto-blend filling structure interiors by @Thunderrock424242 in #352
- Handle local model connection and timeout failures gracefully by @Thunderrock424242 in #354
- Limit terrain replacer to surface blocks by @Thunderrock424242 in #355
- Tighten bunker dry-area checks to avoid interior fluids by @Thunderrock424242 in #356
- Preconfigure bundled local model server defaults by @Thunderrock424242 in #357
- Require dirt columns for auto-blend and ignore STRUCTURE_VOID in auto-blend mask by @Thunderrock424242 in #358
- Manage local model server standby between requests by @Thunderrock424242 in #359
- Restrict spawn bunker placement to plains biomes by @Thunderrock424242 in #360
- Add GameTest verifying LocalModelClient can connect to a local AI server by @Thunderrock424242 in #361
- Stabilize AI local-mode GameTest server lifecycle by @Thunderrock424242 in #362
- Fix spawn bunker water-surface validation by @Thunderrock424242 in #363
- Sample terrain replacer outside structure bounds by @Thunderrock424242 in #364
- Prevent auto-blend inside structure bounds by @Thunderrock424242 in #366
- Increase impact zone max distance by @Thunderrock424242 in #365
- Reduce mob detection for crouching players by @Thunderrock424242 in #367
- Use ItemStack#getTag() for silent armor check by @Thunderrock424242 in #368
- Read silent armor flag from ItemStack CUSTOM_DATA component by @Thunderrock424242 in #369
- Limit terrain replacement to structure edges and refine auto-blend base detection by @Thunderrock424242 in #371
- Increase bunker terrain blend radius and avoid template air overwrites by @Thunderrock424242 in #372
- Remove terrain replacer systems by @Thunderrock424242 in #373
- Add missing
processorsto impact_zone template pool element by @Thunderrock424242 in #374 - Permit bunker interior air carving while preserving boundary terrain by @Thunderrock424242 in #375
- Fix leveling marker (blue wool) and clear starter bunker terrain by @Thunderrock424242 in #376
- Replace deprecated BoundingBox.encapsulate usage by @Thunderrock424242 in #377
- Restrict spawn bunker placement to a hardcoded biome whitelist by @Thunderrock424242 in #378
- Bundle default changelog template and use it on first run by @Thunderrock424242 in #379
- Use double precision for crouch visibility in mixin and helper by @Thunderrock424242 in #380
- Clear fluids during bunker terrain cleanup by @Thunderrock424242 in #381
- Simplify bunker terrain clearing by @Thunderrock424242 in #382
- Refine spawn bunker terrain clearing and restore impact zone adaptation by @Thunderrock424242 in #384
- Clear all non-air blocks when placing bunker and notify neighbors by @Thunderrock424242 in #383
- Clear bunker footprint columns before placement by @Thunderrock424242 in #385
- Blend starter bunker grass with sampled surrounding terrain by @Thunderrock424242 in #386
- Check bunker footprint for blacklisted biomes by @Thunderrock424242 in #387
- Improve starter bunker terrain blending by @Thunderrock424242 in #388
- Cache palette reflection for world-gen and optimize structure corner cache lookups by @Thunderrock424242 in #389
- Force spawn bunker placement to plains biome with extended plains-only fallback by @Thunderrock424242 in #390
- Relax auto-blend support and require full-block surface sampling by @Thunderrock424242 in #392
- Apply configurable gamerules from editable config on server start by @Thunderrock424242 in #391
- Fix GameRules visitor implementation by @Thunderrock424242 in #393
- Skip smart auto-blend for starter bunker and widen support tolerance by @Thunderrock424242 in #394
- update to curseforge time by @Thunderrock424242 in #395
New Contributors
Full Changelog: 3.0.0...4.0.0