From 5a65a6b8ea1cd5087a74ce2ee0f2cea98d11530b Mon Sep 17 00:00:00 2001 From: Kamron Batman <3953314+kamronbatman@users.noreply.github.com> Date: Thu, 6 Jun 2024 14:19:26 -0700 Subject: [PATCH] fix: Fixes exporting spawners. (#1826) --- .../Commands/ExportSpawnersCommand.cs | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/Projects/UOContent/Engines/Spawners/Commands/ExportSpawnersCommand.cs b/Projects/UOContent/Engines/Spawners/Commands/ExportSpawnersCommand.cs index 588cb98a6..9b596b546 100644 --- a/Projects/UOContent/Engines/Spawners/Commands/ExportSpawnersCommand.cs +++ b/Projects/UOContent/Engines/Spawners/Commands/ExportSpawnersCommand.cs @@ -71,18 +71,23 @@ public class ExportSpawnersCommand : BaseCommand var spawnRecords = new List(list.Count); for (var i = 0; i < list.Count; i++) { - if (list[i] is BaseSpawner spawner) + // Not a spawner, not on a valid map, or is in a container + if (list[i] is not BaseSpawner spawner || spawner.Map == Map.Internal || spawner.Parent != null) { - if (!string.IsNullOrEmpty(spawner.Name) && spawner.Name.StartsWith( - condition, - StringComparison.OrdinalIgnoreCase - )) - { - var dynamicJson = DynamicJson.Create(spawner.GetType()); - spawner.ToJson(dynamicJson, options); - spawnRecords.Add(dynamicJson); - } + continue; } + + if (!string.IsNullOrEmpty(spawner.Name) && !spawner.Name.StartsWith( + condition, + StringComparison.OrdinalIgnoreCase + )) + { + continue; + } + + var dynamicJson = DynamicJson.Create(spawner.GetType()); + spawner.ToJson(dynamicJson, options); + spawnRecords.Add(dynamicJson); } if (spawnRecords.Count == 0)