Skip to content

Commit 200f2d8

Browse files
authored
Merge pull request #2808 from Nexus-Mods/fix/outdated-dep-diagnostic
Select highest installed version for SDV dependency diagnostics
2 parents ab226db + 14083e1 commit 200f2d8

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

src/Games/NexusMods.Games.StardewValley/Emitters/DependencyDiagnosticEmitter.cs

+4-3
Original file line numberDiff line numberDiff line change
@@ -77,9 +77,10 @@ private static KeyValuePair<SMAPIModLoadoutItemId, SMAPIManifest> SelectUniqueId
7777
IGrouping<string, KeyValuePair<SMAPIModLoadoutItemId, SMAPIManifest>> g)
7878
{
7979
// TODO: select winner based on synchronizer winner
80-
// For now prefer enabled mods over disabled ones
81-
var enabledItem = g.FirstOrOptional(kv => LoadoutItem.Load(loadout.Db, kv.Key).IsEnabled());
82-
return enabledItem.HasValue ? enabledItem.Value : g.First();
80+
// For now prefer enabled mods over disabled ones, newer versions over older ones
81+
var sortedItems = g.OrderByDescending(kv => kv.Value.Version).ToArray();
82+
var enabledItem = sortedItems.FirstOrOptional(kv => LoadoutItem.Load(loadout.Db, kv.Key).IsEnabled());
83+
return enabledItem.HasValue ? enabledItem.Value : sortedItems.First();
8384
}
8485

8586
private static IEnumerable<Diagnostic> DiagnoseDisabledDependencies(

0 commit comments

Comments
 (0)