### Summary Adds spawn position caching and optimization for constrained spawners (e.g., those near houses, water, or blocked terrain). ### Key features: - Sector-based bitmap cache (32 bytes per 16x16 sector) stores valid spawn positions - Spiral scan progressively discovers positions from spawner center outward - Automatic mode detects constrained spawners after 5+ non-transient failures - Prevents mob spawning inside private houses (allows public AoS buildings) - Deduplicates sector lookups for multi-bounds spawners (RegionSpawner) - Cache invalidation on house placement/demolition - Moves SpawnBounds to Spawner ### New spawner properties: - SpawnPositionMode: Automatic (default), Enabled, Disabled, Abandoned - MaxSpawnAttempts: Configurable attempts before optimization engages (default: 5)
24 lines
No EOL
469 B
JSON
Generated
24 lines
No EOL
469 B
JSON
Generated
{
|
|
"version": 1,
|
|
"type": "Server.Engines.Spawners.Spawner",
|
|
"properties": [
|
|
{
|
|
"name": "UseSpiralScan",
|
|
"type": "bool",
|
|
"usesSaveFlag": true,
|
|
"rule": "PrimitiveTypeMigrationRule",
|
|
"ruleArguments": [
|
|
""
|
|
]
|
|
},
|
|
{
|
|
"name": "SpawnBounds",
|
|
"type": "Server.Rectangle3D",
|
|
"usesSaveFlag": true,
|
|
"rule": "PrimitiveUOTypeMigrationRule",
|
|
"ruleArguments": [
|
|
"Rect3D"
|
|
]
|
|
}
|
|
]
|
|
} |