From d3f0c8e4d2d9ada099cba67c359c5df1d69a1257 Mon Sep 17 00:00:00 2001 From: Jesse Plamondon-Willard Date: Sun, 24 Sep 2017 01:10:17 -0400 Subject: add support for update checks from the Chucklefish mod site (#336) --- src/StardewModdingAPI/Framework/Models/Manifest.cs | 3 +++ src/StardewModdingAPI/IManifest.cs | 7 +++++-- src/StardewModdingAPI/Program.cs | 2 ++ 3 files changed, 10 insertions(+), 2 deletions(-) (limited to 'src/StardewModdingAPI') 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; } + /// The mod's unique ID in the Chucklefish mod site (if any), used for update checks. + public string ChucklefishID { get; set; } + /// The mod's unique ID in Nexus Mods (if any), used for update checks. 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 /// The other mods that must be loaded before this mod. IManifestDependency[] Dependencies { get; } + /// The mod's unique ID in the Chucklefish mod site (if any), used for update checks. + string ChucklefishID { get; } + /// The mod's unique ID in Nexus Mods (if any), used for update checks. - string NexusID { get; set; } + string NexusID { get; } /// The mod's organisation and project name on GitHub (if any), used for update checks. - string GitHubProject { get; set; } + string GitHubProject { get; } /// Any manifest fields which didn't match a valid field. IDictionary 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 modsByKey = new Dictionary(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)) -- cgit