public static List <ModConfig> GetSyncableConfigContents(IEnumerable <string> modIds) { var list = new List <ModConfig>(); foreach (var modId in modIds) { if (ignoredConfigsModIds.Contains(modId)) { continue; } var mod = LoadedModManager.RunningModsListForReading.FirstOrDefault(m => m.PackageIdPlayerFacing.ToLowerInvariant() == modId); if (mod == null) { continue; } foreach (var modInstance in LoadedModManager.runningModClasses.Values) { if (modInstance.modSettings == null) { continue; } if (!mod.assemblies.loadedAssemblies.Contains(modInstance.GetType().Assembly)) { continue; } var instanceName = modInstance.GetType().Name; // This path may point to configs downloaded from the server var file = LoadedModManager.GetSettingsFilename(mod.FolderName, instanceName); if (File.Exists(file)) { list.Add(GetConfigCatchError(file, modId, instanceName)); } } } // Special case for HugsLib if (modIds.Contains(HugsLibId) && GetInstalledMod(HugsLibId) is { Active : true })