summaryrefslogtreecommitdiff
path: root/src/StardewModdingAPI/Framework/ModLoading
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <github@jplamondonw.com>2017-07-20 00:37:58 -0400
committerJesse Plamondon-Willard <github@jplamondonw.com>2017-07-23 11:58:24 -0400
commit7d73b0bf0c545b281d9d84bc73ad40932764b483 (patch)
treedf9d3b504e68ce72b271eb6f869ad1c63a472846 /src/StardewModdingAPI/Framework/ModLoading
parent6ddcef61e94a81711ad25a378f0fa03d7799f2dc (diff)
downloadSMAPI-7d73b0bf0c545b281d9d84bc73ad40932764b483.tar.gz
SMAPI-7d73b0bf0c545b281d9d84bc73ad40932764b483.tar.bz2
SMAPI-7d73b0bf0c545b281d9d84bc73ad40932764b483.zip
simplify compatibility skip message in 2.0 & combine update URL fields
Diffstat (limited to 'src/StardewModdingAPI/Framework/ModLoading')
-rw-r--r--src/StardewModdingAPI/Framework/ModLoading/ModResolver.cs18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/StardewModdingAPI/Framework/ModLoading/ModResolver.cs b/src/StardewModdingAPI/Framework/ModLoading/ModResolver.cs
index cf43eb45..fdcbdaa7 100644
--- a/src/StardewModdingAPI/Framework/ModLoading/ModResolver.cs
+++ b/src/StardewModdingAPI/Framework/ModLoading/ModResolver.cs
@@ -109,15 +109,25 @@ namespace StardewModdingAPI.Framework.ModLoading
ModCompatibility compatibility = mod.Compatibility;
if (compatibility?.Compatibility == ModCompatibilityType.AssumeBroken)
{
- bool hasOfficialUrl = !string.IsNullOrWhiteSpace(mod.Compatibility.UpdateUrl);
- bool hasUnofficialUrl = !string.IsNullOrWhiteSpace(mod.Compatibility.UnofficialUpdateUrl);
+#if SMAPI_1_x
+ bool hasOfficialUrl = mod.Compatibility.UpdateUrls.Length > 0;
+ bool hasUnofficialUrl = mod.Compatibility.UpdateUrls.Length > 1;
string reasonPhrase = compatibility.ReasonPhrase ?? "it's not compatible with the latest version of the game or SMAPI";
string error = $"{reasonPhrase}. Please check for a version newer than {compatibility.UpperVersionLabel ?? compatibility.UpperVersion.ToString()} here:";
if (hasOfficialUrl)
- error += !hasUnofficialUrl ? $" {compatibility.UpdateUrl}" : $"{Environment.NewLine}- official mod: {compatibility.UpdateUrl}";
+ error += !hasUnofficialUrl ? $" {compatibility.UpdateUrls[0]}" : $"{Environment.NewLine}- official mod: {compatibility.UpdateUrls[0]}";
if (hasUnofficialUrl)
- error += $"{Environment.NewLine}- unofficial update: {compatibility.UnofficialUpdateUrl}";
+ error += $"{Environment.NewLine}- unofficial update: {compatibility.UpdateUrls[1]}";
+#else
+ string reasonPhrase = compatibility.ReasonPhrase ?? "it's no longer compatible";
+ string error = $"{reasonPhrase}. Please check for a ";
+ if (mod.Manifest.Version.Equals(compatibility.UpperVersion) && compatibility.UpperVersionLabel == null)
+ error += "newer version";
+ else
+ error += $"version newer than {compatibility.UpperVersionLabel ?? compatibility.UpperVersion.ToString()}";
+ error += " at " + string.Join(" or ", compatibility.UpdateUrls);
+#endif
mod.SetStatus(ModMetadataStatus.Failed, error);
continue;