iafdragonfix-2.0.2.jar
Curse Maven Snippet
What's new
# Changelog
## 2.0.2 - 2026-08-24
### Performance
- Moved dragon roost surface-height resolution out of `findGenerationPoint()` so `/locate structure iafdragonfix:*_dragon_roost` no longer performs terrain-height queries for every scanned candidate chunk.
- Moved dragon cave depth resolution out of `findGenerationPoint()` as well, removing the previous 20x20 `OCEAN_FLOOR_WG` scan from the `/locate` hot path.
- Added lazy, deterministic Y resolution in `DragonDenPiece.postProcess()` so actual world generation still uses the same terrain-derived placement logic when the target chunks are being generated.
### Fixed
- Replaced the custom dragon den geometry implementation with Ice and Fire's native dragon cave and dragon roost generation methods.
- Added `ChunkBoundLevel` to safely replay Ice and Fire's feature generators inside structure-piece chunk bounds, preventing cross-chunk block writes from being dropped as far-chunk writes.
- Ensured dragons are spawned only by the structure pass that owns the resolved den center, preventing duplicate dragons while multi-chunk structure pieces replay generation.
- Added fallback handling for unusable surface heightmap results so surface roost dragons stay at the resolved roost height instead of dropping to the world bottom.
- Moved the spawn-distance check into `findGenerationPoint()` so `/locate` does not report structures rejected later during `postProcess()`.
- Removed the broken `MixinRandomSpreadPlacement`, which crashed during startup because constructor variable injection targeted a record constructor before initialization was valid.
### Changed
- Dragon den pieces now persist deterministic den parameters through `DenParams`, including radius, cave dragon age, gender, lazy height state, cave depth offset and per-den generation seed.
- Dragon den pieces now persist center X/Z independently from their bounding box so lazy Y resolution does not affect structure scheduling.
- Lazy-Y pieces use a broad vertical bounding box while preserving the original X/Z generation radius, allowing the resolved roost or cave height to generate correctly later.
- Fire dragon cave and roost biome tags now include desert biomes plus explicit warm plains entries: `minecraft:plains`, `minecraft:sunflower_plains` and `minecraft:meadow`.
- Structure-set defaults now match the server config defaults: dragon roosts use `spacing=24`, `separation=6`, `frequency=0.6`; dragon caves use `spacing=32`, `separation=8`, `frequency=0.6`.
### Removed
- Removed unused custom geometry helpers after switching den shape generation back to Ice and Fire's native implementation.
- Removed unused helper methods and imports from the dragon type, feature and mixin classes.
## 2.0.1 - 2026-08-07
- Initial structure-based dragon den registration with server-configurable placement.This mod has no additional files

