diff options
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)) |