ASharpPen-Spawn_That icon

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.
  • 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 to ConditionWorldAgeDaysMin.
    • Fixed world spawner ConditionDistanceToCenterMin and Max settings being set incorrectly.
    • Fixed MobAILib settings spitting out errors when SetAI was set, but not AIConfigFile.
    • 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.
  • v1.1.2:
    • Fixed default values getting assigned to empty settings (eg., SetFaction = ). Caused by last patch. Note to self, dont be lazy.
  • v1.1.1:
    • Fixed spawn_that.simple.cfg not being populated on file creation, when InitializeWithCreatures=true was set in spawn_that.cfg. Introduced in v1.1.0.
    • Fixed GroundOffset for world spawner file configs not being used. Introduced in v1.1.0.
  • 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 after spawn_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 replace Enabled.
    • LocalSpawner config Enabled now toggles the spawner itself on/off.
    • Added LocalSpawner option TemplateEnabled to replace Enabled.
    • 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.
  • 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