DropNSpawn
Easy way to configure all drops, spawns and events(raid) by reference system. Prevent high tier mobs spawning on low tier biomes. Make dungeon creaturespawners respawn. Multiple trophies and stacked drop instantly from creatures with linear scaling.1.3.6
- Fixed
MultiplePerPlayerevent scheduling on dedicated servers by restoring the periodic current-event broadcast, keeping clients synchronized so event creature spawners can activate. - Added an optional per-file
spawnIntervalMultiplierheader for SpawnSystem override YAML, scaling explicit and native-default intervals before synchronized live application without changing prefab row order.
1.3.5
- Fixed a float-precision bug that could stop queued runtime work after about nine hours of uninterrupted uptime, preventing server-sync manifest publication, client payload application, and SpawnSystem live table updates.
- Extended the double-precision frame deadline to object and spawner reconciliation, object and character snapshot work, SpawnSystem and ESP refresh work, and VNEI refreshes.
- Added an ESP 1.37 SpawnSystem hover guard and cleared stale marker references during marker replacement to avoid invalid ZNetView/ZDO reads.
1.3.4
- Hardened correctness across hot reloads, temporary object overrides, delayed spawner activation, and synchronized payload worker shutdown.
- Reduced runtime and maintenance complexity by removing redundant state, forwarding layers, wrappers, and duplicated domain-specific paths while keeping related behavior co-located.
- Added Expand World Data 1.66-1.68 readiness compatibility, aligned the runtime and compile-time minimum with EWD 1.66, and retained support for the latest cloned-location and custom-biome behavior.
1.3.3
- Added optional CreatureManager faction integration so registered custom factions can be resolved, applied, listed in validation guidance, and restored from spawned-creature ZDO data.
- Preserved native and ExpandWorldFactions handling while adding a soft dependency to ensure CreatureManager's faction API is available before DropNSpawn initializes.
1.3.2
- Fixed
character loot system = CalculateChanceso non-trophy drops participate in linear per-star amount scaling only when their native or YAMLlevelMultiplieristrue. - Kept
global trophy level multiplieras an explicit exception: enabled, non-blacklisted trophy drops use linear per-star amount scaling regardless oflevelMultiplier; disabled or blacklisted trophies retain their native or YAML behavior.
1.3.1
- Replaced the separate synced
Multiple eventsandCheck per playersettings withEvent scheduling mode:Vanilla,MultipleGlobal, orMultiplePerPlayer. The former config keys are no longer read. - Changed multiple-event collision handling so a new attempt inside
Minimum distance between eventsis discarded while the existing event continues, instead of stopping and replacing the existing event. - Fixed per-player event scheduling so the global timer advances correctly, non-positive standalone intervals remain disabled, and each matured standalone event evaluates every player before its timer resets once.
- Added synced
Event duration multiplierwith a0~3range. Positive values scale durations not explicitly set by YAMLsettings[2];0disables every event whose effective duration is positive while leaving duration-0events enabled. - Preserved positional
''placeholders in eventsettings, allowing later fields to be overridden while an earlier field is omitted, and documented the syntax in generated override YAML. - Canonicalized the known duplicate vanilla
army_moderandarmy_theeldervariants in event references, applied same-name overrides to every original variant, and collapsed equivalent overridden variants to avoid duplicate selection weight.
1.3.0
- Breaking: SpawnSystem override rows now accept only one flat
spawnSystemblock inDNS_spawnsystem.yml, supplementalDNS_spawnsystem_*.yml/.yamlfiles, and eventspawns. The former nested spawnconditionsandmodifiersblocks are no longer supported. - Back up edited overrides, then either regenerate the SpawnSystem/Event override YAML from the new templates and reapply your entries, or manually remove each nested
conditions:andmodifiers:header and move those fields underspawnSystem:as shown below. Event-levelconditionsremains unchanged. - Unified SpawnSystem and event-spawn models, clone paths, generated reference/full output, and synchronized payloads. Event spawns now expose the same custom-data fields, including
objects. - SpawnSystem schema and full output now show the native effective
spawnRadiusdefault as40~80;0endpoints still use the native40/80fallback.
Before:
- prefab: Boar
spawnSystem:
level: 1~3
groupRadius: 5
conditions:
noSpawnRadius: 64
biomes: [Meadows]
modifiers:
faction: Demon
After:
- prefab: Boar
spawnSystem:
level: 1~3
groupRadius: 5
noSpawnRadius: 64
biomes: [Meadows]
faction: Demon
Version |
Update Notes |
|---|---|
| 1.2.8 | - Hardened synchronized payload handling with strict SHA-256 manifest validation, bounded compressed/decompressed sizes, chunk-count checks, and safe cache paths. - Simplified spawner selector matching and cache state while preserving exact Expand World Data cloned-location matching. - Removed unused compatibility and transport forwarding layers, runtime aliases, stale helpers, and obsolete design documents. - Co-located small state implementations with the code that owns them to reduce source-file count and navigation without adding new abstractions. |
| 1.2.7 | - Added synced disable DNS character loot scaling when CLLC is loaded, which treats DNS character loot system, both per-star loot chance options, and global trophy level multiplier as inactive at runtime when Creature Level & Loot Control is loaded, while leaving YAML overrides, drop-in-stack, instant loot, and OnePerPlayer behavior active. - Added a synced general option to set zero-minute CreatureSpawner respawn timers to a default 0-60 minute value unless YAML specifies creatureSpawner.respawnTimeMinutes; the default is 0, so the option is off until configured. - Changed event reference generation to use the pre-DNS baseline event list and group entries by resolved spawn prefab owner, so removed event-providing mods disappear from generated references and mod-added events are easier to scan. |
| 1.2.6 | - Added synced events domain support with YAML-driven random event overrides, event spawns, global event settings, and reference output. - Added character loot system with Vanilla and CalculateChance; CalculateChance keeps successful drop chances intact and scales final item amounts with separate creature/boss per-star chances. - Kept global trophy level multiplier as the toggle that lets trophies join DNS linear level scaling, while avoiding vanilla exponential level multiplier stacks. - Fixed EWD cloned location selectors by preserving exact clone prefab names through spawner provenance and shared location condition resolution. - Added a synced global-key safety option that globally disables SpawnSystem entries with requiredGlobalKey in Meadows, BlackForest, Swamp, Mountain, or Plains. |
| 1.2.5 | - Breaking: DNS_location.yml is no longer generated, loaded, synchronized, or exposed through dns:reference / dns:full; BossRules and UsefulRunestones own the former location-domain features. - Breaking: DNS_character.yml no longer supports despawn or bossTamedPressure; boss despawn rules, boss-tamed pressure, per-player boss stones, remote Forsaken Power selection, and CreatureSpawner same-boss duplicate blocking moved to BossRules. - Added synced monster instant loot drop config that spawns monster loot immediately while ragdolls keep their vanilla lifetime. - Changed global trophy level multiplier to scale successful trophy drops by 50% per extra creature level while avoiding vanilla exponential trophy stack scaling. - Removed runtime work profiler/debug hot-path logging and the Debug Runtime Work Profiling config to reduce overhead. - Updated Thunderstore description; DropNSpawn still keeps internal location lookup helpers for object/spawner locations: selectors. |
| 1.2.4 | - Fixed RuneStone global pins on dedicated servers by resolving location targets on the authoritative server and returning the selected pin to clients. - Fixed Same Boss Duplicate Block for CreatureSpawner so duplicate-blocked bosses do not finish their respawn delay while the previous boss is still alive. - CharacterDrop now supports non-item prefabs, such as monster prefabs, in reference/override YAML and VNEI display. Non-item drops default levelMultiplier to false; item drops keep the vanilla-style default of true. |
| 1.2.3 | - Added Vegvisir global effects with biome-based weighted status rewards, optional FX, localization, and DNS_ClearStatus. - Breaking: removed location vegvisirs pin-edit fields and location runestones edit/reference fields; Vegvisirs keep vanilla pins and RuneStone location reveals use runestoneGlobalPins. - Historical note for 1.2.3 users: regenerate DNS_location.yml on a new profile, or regenerate the current file if it was not edited. - Breaking: spawner location filters now use locations: [] instead of location: and can match multiple locations. - Added global trophy level multiplier config with blacklist support. - Reference files now auto-update; SpawnSystem reference is generated from vanilla and upstream mod data, not DNS override YAML. - Removed manual reference update mode, old diagnostics logging options, afternoon timeOfDay support, and the OnePerPlayer living-player toggle; nearby OnePerPlayer checks now count living players only. - Cleaned config ordering, transport sync, and runtime queue performance. |
| 1.2.2 | - Refactoring and optimizations |
| 1.2.1 | - Added RuneStone global pins, allowing pinless RuneStones to reveal a saved map pin for a configured location. - Added SpawnArea total spawn limits, allowing spawners to automatically break after a set number of successful spawns. |
| 1.2.0 | - VNEI shows fish's random loot with DNS installed |
| 1.1.9 | - Vegvisir supports weighted random location pinning. Put weight: n on vevgisir.locations in locations.yml |
| 1.1.8 | - Boss despawn when no player is near(configurable) - Boss despawn refund offerings when they are stated in the character.yml Block summon and spawn of more than one boss wihtin the area(configurable) - Organized configs and refactored some codes for better performance - Better support for EWD fields |
| 1.1.7 | - Fixed boss trophy sacrificing - Fixed forsaken rotation making UI too often |
| 1.1.6 | - Optimized objectdrop hotpath - Fixed bossstone reset command not working on host self |
| 1.1.5 | - Refactored huge amount of codes - Removed cllc fields since it can be done with ewd field - Added rotation of forsaken powers - Added per player bossstones option |
| 1.1.4 | - Fixed destructibleType field casuing framedrop when it is in object override.yml |
| 1.1.3 | - Fixed EWD clone locations not working as conditions for character,object and spawner domain |
| 1.1.2 | - Fixed location domain triggering errors related monstrum locs |
| 1.1.1 | - Spawnsystem reference would be generated through command only - Lightened up how spawnsystem domain works - Fixed serversync not working for spawnsystem on dedi for real |
| 1.1.0 | - Ligthened some queue logic for some domains |
| 1.0.9 | - Fixed framedrop with treebase/minerock health override - Fixed spawnsystem reference not generating automatically sometimes |
| 1.0.8 | - Fixed spawnsystem serversync not working on some clients on dedi |
| 1.0.7 | - Fixed creaturespawner edit not working on dedi |
| 1.0.6 | - Fixed cloned location not working with dns location conditions on dedi - Fixed spawners not working with location conditions on dedi |
| 1.0.5 | - Fixed serversync not working on some domains - Fixed cloned location not being applied in override yml - Fixed custom biome spawnsystem lines being not shown through ESP - VNEI compatibility is now always live - Performance and network performance improvement |
| 1.0.4 | - Support for custom EWD biomes on all domains and conditions |
| 1.0.3 | - Improved reference grouping and fps |
| 1.0.2 | - Lightened spawnsystem check and other domains to reolve hitch |
| 1.0.1 | - Resolved hitch that was caused by deleting obsolete spawnsystem lines |
| 1.0.0 | - Initial Release |
