summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <github@jplamondonw.com>2017-05-02 23:53:15 -0400
committerJesse Plamondon-Willard <github@jplamondonw.com>2017-05-02 23:53:15 -0400
commit45613b4851919dec915fed6a2e81d982b2971b4e (patch)
treece736df0b95983d5355c767ffeb392597a64a633 /src
parent24aa8bb64d27840b9fb9ba2cbef0ab222928a21e (diff)
downloadSMAPI-45613b4851919dec915fed6a2e81d982b2971b4e.tar.gz
SMAPI-45613b4851919dec915fed6a2e81d982b2971b4e.tar.bz2
SMAPI-45613b4851919dec915fed6a2e81d982b2971b4e.zip
store unknown fields in IManifest::ExtraFields (#275)
Diffstat (limited to 'src')
-rw-r--r--src/StardewModdingAPI/Framework/Manifest.cs6
-rw-r--r--src/StardewModdingAPI/IManifest.cs7
2 files changed, 12 insertions, 1 deletions
diff --git a/src/StardewModdingAPI/Framework/Manifest.cs b/src/StardewModdingAPI/Framework/Manifest.cs
index 189da9a8..62c711e2 100644
--- a/src/StardewModdingAPI/Framework/Manifest.cs
+++ b/src/StardewModdingAPI/Framework/Manifest.cs
@@ -1,5 +1,7 @@
using System;
+using System.Collections.Generic;
using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
using StardewModdingAPI.Framework.Serialisation;
namespace StardewModdingAPI.Framework
@@ -35,5 +37,9 @@ namespace StardewModdingAPI.Framework
/// <summary>Whether the mod uses per-save config files.</summary>
[Obsolete("Use " + nameof(Mod) + "." + nameof(Mod.Helper) + "." + nameof(IModHelper.ReadConfig) + " instead")]
public bool PerSaveConfigs { get; set; }
+
+ /// <summary>Any manifest fields which didn't match a valid field.</summary>
+ [JsonExtensionData]
+ public IDictionary<string, object> ExtraFields { get; set; }
}
}
diff --git a/src/StardewModdingAPI/IManifest.cs b/src/StardewModdingAPI/IManifest.cs
index 3e4b7513..d7c503a4 100644
--- a/src/StardewModdingAPI/IManifest.cs
+++ b/src/StardewModdingAPI/IManifest.cs
@@ -1,4 +1,6 @@
-namespace StardewModdingAPI
+using System.Collections.Generic;
+
+namespace StardewModdingAPI
{
/// <summary>A manifest which describes a mod for SMAPI.</summary>
public interface IManifest
@@ -23,5 +25,8 @@
/// <summary>The name of the DLL in the directory that has the <see cref="Mod.Entry"/> method.</summary>
string EntryDll { get; set; }
+
+ /// <summary>Any manifest fields which didn't match a valid field.</summary>
+ IDictionary<string, object> ExtraFields { get; set; }
}
} \ No newline at end of file