Spawn That
Advanced tool for customizing mob spawners throughout the world with configuration files.
CHANGELOG
Changelog:
- v1.2.15:
- Compatibility: Valheim v0.219.13.
- v1.2.14:
- Updates for room identification, old code did not properly take into account dungeons with multiple layers, as well as the room rotation itself.
- World Spawner: Fixed templates for vanilla creatures sometimes getting assigned to modded creatures, caused by the changes to ID assignment in v1.2.12.
- v1.2.13:
- Fixed: Room detection for dungeons. This affected spawner configs using specific rooms as their requirement.
- v1.2.12:
- World Spawner: Assigning ID's to vanilla spawners earlier in startup, to help avoid modded creatures being given ID's that would otherwise belong to said vanilla spawners.
- v1.2.11:
- Compatibility: Valheim v0.218.15.
- v1.2.10:
- Compatibility: Valheim v0.217.46.
- v1.2.9:
- SpawnArea: Fixed SpawnInterval not being set correctly, sometimes causing intervals to be too quick.
- v1.2.8:
- Changed console commands into proper terminal commands with autocompletion.
- Added soft-dependency for LocalizationCache, to help it get loaded earlier.
- World Spawner: Additional checks for nulls while counting non-creature entities.
- v1.2.7:
- Fixed: SetFaction was only applying the faction on creature spawn, it now correctly re-applies on creature load.
- API: Updated GlobalKey enum with new known keys.
- v1.2.6:
- Fixed: Compatibility for Valheim v0.216.9
- v1.2.5:
- Local Spawner: Fixed day-night conditions being swapped.
- v1.2.4:
- Fixed: Compatibility with Valheim v0.215.2.
- v1.2.3:
- Fixed error for prefab nearness position conditions (eg., MustBeNearAllPrefabs) when condition was empty in config file.
- Fixed PrintFantasticBeastsAndWhereToKillThem only printing maps for spawns in file configs. Should now correctly pick up spawns added by API.
- Fixed null-reference error while generating spawn biome maps.
- v1.2.2:
- Compatibility: Epic Loot v0.9.5.
- v1.2.1:
- Compatibility: Allowing
:
in section headers for compatibility with Expand World.
- Compatibility: Allowing
- v1.2.0:
- World Spawner: Fixed LevelUpChance only being properly applied to new entries.
- SpawnArea: Fixed modifiers not being applied properly.
- Local Spawner & SpawnArea: Fixed LevelUpChance not being properly applied when using setting UseDefaultLevel.
- World Spawner: Added support for vanilla field BiomeArea.
- World Spawner & SpawnArea: Added ConditionPositionMustBeNearAllPrefabs
- World Spawner & SpawnArea: Added ConditionPositionMustBeNearPrefabs
- World Spawner & SpawnArea: Added ConditionPositionMustNotBeNearPrefabs
- Compatibility: Moved all applications of spawn modifier settings to happen slightly later. This should solve issues with settings like CLLC UseDefaultLevels.
- v1.1.7:
- World Spawner: Added support for new LevelUpChance field.
- Fixes for v0.212.6
- v1.1.6:
- Fixed patch compatibility with v0.212.6
- v1.1.5:
- For all spawners: Fixed config sync for fields Enabled, TemplateEnabled being ignored when false.
- Local Spawner: Fixed potential config sync issue for fields SpawnAtDay and SpawnAtNight defaulting to true when not set.
- SpawnArea Spawner: Fixed potential error when syncing custom identifiers.
- Streamlined logs of successful config sync a bit.
- v1.1.4:
- Fixed mapping of settings, where SpawnThat would throw an error when processing certain settings defined as empty in cfg file. Primarily affected WorldSpawner configs.
- v1.1.3:
- Fixed world spawner
ConditionWorldAgeDaysMax
being set toConditionWorldAgeDaysMin
. - Fixed world spawner
ConditionDistanceToCenterMin
andMax
settings being set incorrectly. - Fixed MobAILib settings spitting out errors when
SetAI
was set, but notAIConfigFile
. - Disabled world spawner configs being applied server-side on dedicated servers. This should avoid a potential harmless but confusing warning.
- Added
SetTryDespawnOnConditionsInvalid
to world spawner loaded configs debug file. - Added internal tests for mapping of all types of spawner configs.
- Fixed world spawner
- v1.1.2:
- Fixed default values getting assigned to empty settings (eg.,
SetFaction =
). Caused by last patch. Note to self, dont be lazy.
- Fixed default values getting assigned to empty settings (eg.,
- v1.1.1:
- Fixed
spawn_that.simple.cfg
not being populated on file creation, whenInitializeWithCreatures=true
was set inspawn_that.cfg
. Introduced in v1.1.0. - Fixed
GroundOffset
for world spawner file configs not being used. Introduced in v1.1.0.
- Fixed
- v1.1.0:
- Added support for new SpawnArea spawner type (eg., greydwarf nests).
- Added custom config file reader. This should hopefully make things more intuitive and less volatile. It does however mean that comments are longer added automatically.
- Swapped file load and merge order, to make default files override supplemental, as was originally intended (eg.,
spawn_that.world_spawners_advanced.cfg
gets loaded afterspawn_that.world_spawners.something.cfg
now). - Added datamining for locations, as an option in general config.
- Removed setting "StopTouchingMyConfigs" from general config, as it has become irrellevant.
- Fixed bug with attempting to load files as configs if they fit the expected name pattern, even though they didn't end with '.cfg'.
- Fixed bug where disabling world spawner with
Enabled
disabled the config instead. - Fixed potential error when adding a new world spawner without specifying a prefab name.
- A LOT of boring internal changes, logging and documentation that noone will probably ever see or care about.
- v1.0.6:
- Fixed config sync for expanded enums. This should resolves an issue when using biomes from Expand World on servers.
- Fixed level calculcation used when using the CLLC integration setting UseDefaultLevels.
- v1.0.5:
- Improved world spawner debug file output. Now tries to output not just the default settings, but the custom too. Including integrations.
- Fixed world spawner post change debug file not showing the configuration ID's, but instead the internal index they were added at.
- Fixed world spawner cfg load adding unnecessary option.
- Fixed faction, biome and cllc setting parsing being case-sensitive. Eg., setting biome as Blackforest would fail to parse as biome BlackForest.
- Added installation check for YamlDotNet dll, to ensure it is present.
- v1.0.4:
- Fixed dungeon room names not being cleaned before registration, causing issues with local spawners matching.
- v1.0.3:
- Fixed local spawner file-configs not being properly matched with spawners.
- Fixed error when printing world spawners with missing prefab to debug file.
- Fixed error when having file-configurations with integrations not installed.
- Added robustness to API when setting up configurations for uninstalled integrations.
- Added robustness for v0.207.15
- v1.0.2:
- Fixed error spawn from world spawners, when joining a server with no world spawner configurations.
- v1.0.1:
- Fixed broken config sync.
- v1.0.0:
- WorldSpawner config
Enabled
now toggles the actual spawn entry on/off. - Added WorldSpawner option
TemplateEnabled
to replaceEnabled
. - LocalSpawner config
Enabled
now toggles the spawner itself on/off. - Added LocalSpawner option
TemplateEnabled
to replaceEnabled
. - Added API for using Spawn That by code.
- Debug files are now printed to BepInEx/Debug by default. Output folder is configurable.
- A ton of internal work and improvements.
- Moved documentation to https://asharppen.github.io/Valheim.SpawnThat/. Documentation will be updated here from now on.
- WorldSpawner config
- v0.11.6:
- It's the season of bugs! World spawner templates are now instantiated on entering world, meaning changes applied are no longer carried between worlds / re-entering. This is hopefully getting changed by IG in the future.
- Fixed local spawners not honouring "Enabled=false". Configs were still attempted applied.
- Fixed leftover optimizations causing spawners to get disabled in biomes outside the one player logged into.
- v0.11.5:
- More v0.205.5 fixes. World spawners were changed from no longer being per zone, but properly global, meaning Spawn That was reapplying its changes more than once.
- v0.11.4:
- Fixes for Valheim v0.205.5
- v0.11.3:
- Fixes for Valheim v0.202.14
- v0.11.2:
- Fixed the setting SpawnInPlayerBase not being assigned to local spawners.
- v0.11.1:
- Fixed issue with local spawners being disabled due to missing location info.
- Made local spawners less demanding of config application. Should revert to default spawn if Spawn That fails to apply its changes.
- v0.11.0:
- Added region labelling for map biomes. Will now scan for connected biome zones, and assign an id for that whole area.
- Added condition for spawning only in specified areas. Intended as a world specific setting. For those who have been waiting, this is the option to use for designated monster islands.
- Added condition for spawning in an area, chance is pr area and only rolled once, to allow for variety in spawning across the world.
- Added console commands for areas.
- Added conditions for epic loot based items on nearby players.
- Added support for spawning non-ai entities. MaxSpawned and SpawnDistance should now work properly for any prefab. SpawnDistance should work for any distance now, be aware this may cause performance issues if set too high.
- Documentation moved to mod wiki.
- v0.10.1:
- Fixed issue with world-spawner mobs not spawning in mountains.
- v0.10.0:
- Optimized network package sizes.
- Added initial support for MobAILib.
- Added setting "SetTamed" for local- and world spawners.
- Added setting "SetTamedCommandable" for local- and world spawners.
- Added world spawner condition "" for nearby players having status effect.
- v0.9.1:
- Fixed issue with too early access of location info. Should resolve issue with local spawners not spawning creatures.
- v0.9.0:
- Added setting "UseDefaultLevels" to CLLC integraiton, to let Spawn That set levels.
- Added setting "SetRelentless".
- Added setting "SetTryDespawnOnConditionsInvalid".
- Added setting "SetTryDespawnOnAlert".
- Added setting "TemplateId", for assigning a specific identifier to mobs spawned by a template, for other mods to use (intended for future Drop That setting).
- Added condition "ConditionNearbyPlayersNoiseThreshold".
- v0.8.2:
- Added more helpful warning- and error messages for when configurations are incorrectly set up.
- Changed StopTouchingMyConfigs to be set to true by default when spawn_that.cfg is created. Due to the massive loading time impact of large config files.
- v0.8.1:
- Additional error handling for conditions. Should help fix potential errors coming out of the newly added player conditions.
- v0.8.0:
- Added world spawner condition for nearby players carried items.
- Added world spawner condition for nearby players carried valuables.
- Added option for assigning faction for world- and local spawner entries.
- Added faction to pre-change debug files.
- Changed when configs are applied to spawners, for increased compatibility with mods adding prefabs.
- Additional error checks.
- v0.7.1:
- Fixed simple config being generated with wrong prefab-names.
- Additional error handling.
- Changed location info from server to client slightly, to hopefully stop issues with local spawners.
- v0.7.0:
- Added support for Creature Level and Loot Control (CLLC)
- Added CLLC creature effect options for world- and local spawners.
- Added CLLC world level condition to world spawners.
- v0.6.0:
- Added world spawner condition - RequiredNotGlobalKey
- Added support for supplemental world- and local spawner config files.
- Local spawner configs now work in multiplayer.
- v0.5.1:
- Added a (probably temporary) config to not run local spawner configs, due to issues with multiplayer.
- Fixed error message from local spawners.
- Removed a couple of pointless warnings.
- v0.5.0:
- Added new local spawner defaults to file dumps.
- Added condition for world spawners. World age in days.
- Added console command for getting current room in which player is standing.
- Added configuration for Dungeons, Camps and Villages. All are considered local spawners.
- Lots of bug fixes. Spawners should have an easier time having configuration "stick" now.
- v0.4.0:
- New condition for world spawners. Distance to center min/max.
- Simple config initialized with creatures on file creation by default.
- Various attempts at stabilizing and guarding code.
- v0.3.0:
- Server-to-client config sync added
- v0.2.0:
- Initial release