From c75f383020b6c7c1efe1a0c93aa8f1fb2669386b Mon Sep 17 00:00:00 2001 From: localavaster <77656682+localavaster@users.noreply.github.com> Date: Tue, 14 Apr 2026 00:23:44 -0600 Subject: [PATCH] fix jobdriver throwing when constructing --- Source/PerformanceFish/Listers/Buildings.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Source/PerformanceFish/Listers/Buildings.cs b/Source/PerformanceFish/Listers/Buildings.cs index bba1cdd..753f3cc 100644 --- a/Source/PerformanceFish/Listers/Buildings.cs +++ b/Source/PerformanceFish/Listers/Buildings.cs @@ -243,10 +243,11 @@ public sealed class Buildings : ClassWithFishPrepatches private static void UpdateCacheOnAdd(ListerBuildings __instance, Building b, ThingDef def) { var cache = __instance.Cache(); - + if (b.Faction == Faction.OfPlayer) { - cache.ColonistBuildingsByDef.GetOrAdd(def).Add(b); + if (!cache.ColonistBuildingsByDef.GetOrAdd(def).TryAdd(b)) + return; if (b is Building_ResearchBench researchBench) cache.ColonistResearchBenches.Add(researchBench); @@ -266,7 +267,7 @@ public sealed class Buildings : ClassWithFishPrepatches } else { - cache.NonColonistBuildingsByDef.GetOrAdd(def).Add(b); + cache.NonColonistBuildingsByDef.GetOrAdd(def).TryAdd(b); } } }