summaryrefslogtreecommitdiff
path: root/src/SMAPI/Framework/SCore.cs
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <github@jplamondonw.com>2018-09-02 19:19:13 -0400
committerJesse Plamondon-Willard <github@jplamondonw.com>2018-09-02 19:19:13 -0400
commitc94f3e7c63a2f1aec89c68417db348d4e684fb79 (patch)
tree6cf32c93b43e0852352b493070d7f4812e236a96 /src/SMAPI/Framework/SCore.cs
parent093117d777a84e3f1e3aaa8a1337059fb805a7dd (diff)
downloadSMAPI-c94f3e7c63a2f1aec89c68417db348d4e684fb79.tar.gz
SMAPI-c94f3e7c63a2f1aec89c68417db348d4e684fb79.tar.bz2
SMAPI-c94f3e7c63a2f1aec89c68417db348d4e684fb79.zip
only use valid update keys in update-check logic (#592)
Diffstat (limited to 'src/SMAPI/Framework/SCore.cs')
-rw-r--r--src/SMAPI/Framework/SCore.cs13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/SMAPI/Framework/SCore.cs b/src/SMAPI/Framework/SCore.cs
index af8df8a0..59ce3be7 100644
--- a/src/SMAPI/Framework/SCore.cs
+++ b/src/SMAPI/Framework/SCore.cs
@@ -575,11 +575,14 @@ namespace StardewModdingAPI.Framework
List<ModSearchEntryModel> searchMods = new List<ModSearchEntryModel>();
foreach (IModMetadata mod in mods)
{
- if (!mod.HasID())
+ if (!mod.HasID() || suppressUpdateChecks.Contains(mod.Manifest.UniqueID))
continue;
- string[] updateKeys = mod.Manifest.UpdateKeys ?? new string[0];
- searchMods.Add(new ModSearchEntryModel(mod.Manifest.UniqueID, updateKeys.Except(suppressUpdateChecks).ToArray()));
+ string[] updateKeys = mod
+ .GetUpdateKeys(validOnly: true)
+ .Select(p => p.ToString())
+ .ToArray();
+ searchMods.Add(new ModSearchEntryModel(mod.Manifest.UniqueID, updateKeys.ToArray()));
}
// fetch results
@@ -699,7 +702,7 @@ namespace StardewModdingAPI.Framework
this.Monitor.Log($" {metadata.DisplayName} (content pack, {PathUtilities.GetRelativePath(this.ModsPath, metadata.DirectoryPath)})...", LogLevel.Trace);
// show warning for missing update key
- if (metadata.HasManifest() && !metadata.HasUpdateKeys())
+ if (metadata.HasManifest() && !metadata.HasValidUpdateKeys())
metadata.SetWarning(ModWarning.NoUpdateKeys);
// validate status
@@ -745,7 +748,7 @@ namespace StardewModdingAPI.Framework
: $" {metadata.DisplayName}...", LogLevel.Trace);
// show warnings
- if (metadata.HasManifest() && !metadata.HasUpdateKeys() && !suppressUpdateChecks.Contains(metadata.Manifest.UniqueID))
+ if (metadata.HasManifest() && !metadata.HasValidUpdateKeys() && !suppressUpdateChecks.Contains(metadata.Manifest.UniqueID))
metadata.SetWarning(ModWarning.NoUpdateKeys);
// validate status