fix broken mods with no ID listed as duplicate
This commit is contained in:
parent
a1bc96d365
commit
1d5017f119
|
@ -7,6 +7,9 @@
|
|||
_If needed, you can update to SMAPI 3.16.0 first and then install the latest version._
|
||||
-->
|
||||
|
||||
## Upcoming release
|
||||
* Fixed broken mods sometimes incorrectly listed as duplicate.
|
||||
|
||||
## 3.16.0
|
||||
Released 22 August 2022 for Stardew Valley 1.5.6 or later. See [release highlights](https://www.patreon.com/posts/70797008).
|
||||
|
||||
|
|
|
@ -218,12 +218,12 @@ namespace StardewModdingAPI.Framework.ModLoading
|
|||
{
|
||||
var duplicatesByID = mods
|
||||
.GroupBy(mod => mod.Manifest?.UniqueID?.Trim(), mod => mod, StringComparer.OrdinalIgnoreCase)
|
||||
.Where(p => p.Count() > 1);
|
||||
.Where(p => !string.IsNullOrEmpty(p.Key) && p.Count() > 1);
|
||||
foreach (var group in duplicatesByID)
|
||||
{
|
||||
foreach (IModMetadata mod in group)
|
||||
{
|
||||
if (mod.Status == ModMetadataStatus.Failed && mod.FailReason != ModFailReason.InvalidManifest)
|
||||
if (mod.Status == ModMetadataStatus.Failed && mod.FailReason is not (ModFailReason.InvalidManifest or ModFailReason.LoadFailed or ModFailReason.MissingDependencies))
|
||||
continue;
|
||||
|
||||
string folderList = string.Join(", ", group.Select(p => p.GetRelativePathWithRoot()).OrderBy(p => p));
|
||||
|
|
Loading…
Reference in New Issue