diff options
author | Jesse Plamondon-Willard <github@jplamondonw.com> | 2017-09-24 01:10:17 -0400 |
---|---|---|
committer | Jesse Plamondon-Willard <github@jplamondonw.com> | 2017-09-24 01:10:17 -0400 |
commit | d3f0c8e4d2d9ada099cba67c359c5df1d69a1257 (patch) | |
tree | 992e6bbf83bb19357f7486f902998fec53c9f214 /src/StardewModdingAPI | |
parent | 0863f9b7e5f165f2b1db8750b20ed35bc0c3701a (diff) | |
download | SMAPI-d3f0c8e4d2d9ada099cba67c359c5df1d69a1257.tar.gz SMAPI-d3f0c8e4d2d9ada099cba67c359c5df1d69a1257.tar.bz2 SMAPI-d3f0c8e4d2d9ada099cba67c359c5df1d69a1257.zip |
add support for update checks from the Chucklefish mod site (#336)
Diffstat (limited to 'src/StardewModdingAPI')
-rw-r--r-- | src/StardewModdingAPI/Framework/Models/Manifest.cs | 3 | ||||
-rw-r--r-- | src/StardewModdingAPI/IManifest.cs | 7 | ||||
-rw-r--r-- | src/StardewModdingAPI/Program.cs | 2 |
3 files changed, 10 insertions, 2 deletions
diff --git a/src/StardewModdingAPI/Framework/Models/Manifest.cs b/src/StardewModdingAPI/Framework/Models/Manifest.cs index 2e9566bf..c891644f 100644 --- a/src/StardewModdingAPI/Framework/Models/Manifest.cs +++ b/src/StardewModdingAPI/Framework/Models/Manifest.cs @@ -34,6 +34,9 @@ namespace StardewModdingAPI.Framework.Models [JsonConverter(typeof(SFieldConverter))] public IManifestDependency[] Dependencies { get; set; } + /// <summary>The mod's unique ID in the Chucklefish mod site (if any), used for update checks.</summary> + public string ChucklefishID { get; set; } + /// <summary>The mod's unique ID in Nexus Mods (if any), used for update checks.</summary> public string NexusID { get; set; } diff --git a/src/StardewModdingAPI/IManifest.cs b/src/StardewModdingAPI/IManifest.cs index 28f6570c..9513834a 100644 --- a/src/StardewModdingAPI/IManifest.cs +++ b/src/StardewModdingAPI/IManifest.cs @@ -32,11 +32,14 @@ namespace StardewModdingAPI /// <summary>The other mods that must be loaded before this mod.</summary> IManifestDependency[] Dependencies { get; } + /// <summary>The mod's unique ID in the Chucklefish mod site (if any), used for update checks.</summary> + string ChucklefishID { get; } + /// <summary>The mod's unique ID in Nexus Mods (if any), used for update checks.</summary> - string NexusID { get; set; } + string NexusID { get; } /// <summary>The mod's organisation and project name on GitHub (if any), used for update checks.</summary> - string GitHubProject { get; set; } + string GitHubProject { get; } /// <summary>Any manifest fields which didn't match a valid field.</summary> IDictionary<string, object> ExtraFields { get; } diff --git a/src/StardewModdingAPI/Program.cs b/src/StardewModdingAPI/Program.cs index 4860968c..f821b559 100644 --- a/src/StardewModdingAPI/Program.cs +++ b/src/StardewModdingAPI/Program.cs @@ -522,6 +522,8 @@ namespace StardewModdingAPI IDictionary<string, IModMetadata> modsByKey = new Dictionary<string, IModMetadata>(StringComparer.InvariantCultureIgnoreCase); foreach (IModMetadata mod in mods) { + if (!string.IsNullOrWhiteSpace(mod.Manifest.ChucklefishID)) + modsByKey[$"Chucklefish:{mod.Manifest.ChucklefishID}"] = mod; if (!string.IsNullOrWhiteSpace(mod.Manifest.NexusID)) modsByKey[$"Nexus:{mod.Manifest.NexusID}"] = mod; if (!string.IsNullOrWhiteSpace(mod.Manifest.GitHubProject)) |