summaryrefslogtreecommitdiff
path: root/src/StardewModdingAPI
diff options
context:
space:
mode:
Diffstat (limited to 'src/StardewModdingAPI')
-rw-r--r--src/StardewModdingAPI/Framework/Models/Manifest.cs3
-rw-r--r--src/StardewModdingAPI/IManifest.cs7
-rw-r--r--src/StardewModdingAPI/Program.cs2
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))