diff options
author | Jesse Plamondon-Willard <Pathoschild@users.noreply.github.com> | 2019-09-13 18:24:54 -0400 |
---|---|---|
committer | Jesse Plamondon-Willard <Pathoschild@users.noreply.github.com> | 2019-09-13 18:24:54 -0400 |
commit | 6521df7b131924835eb797251c1e956fae0d6e13 (patch) | |
tree | b704dc64b6b6fef72615bac8950d5eff3c80ea89 /src/SMAPI.Toolkit.CoreInterfaces/IManifest.cs | |
parent | e22a54212182d0adc443ac95bc791e83c90f7e10 (diff) | |
parent | b7b8b001c5c2dc5d2c9fc1347532ca29368c2325 (diff) | |
download | SMAPI-6521df7b131924835eb797251c1e956fae0d6e13.tar.gz SMAPI-6521df7b131924835eb797251c1e956fae0d6e13.tar.bz2 SMAPI-6521df7b131924835eb797251c1e956fae0d6e13.zip |
Merge branch 'develop' into stable
Diffstat (limited to 'src/SMAPI.Toolkit.CoreInterfaces/IManifest.cs')
-rw-r--r-- | src/SMAPI.Toolkit.CoreInterfaces/IManifest.cs | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/SMAPI.Toolkit.CoreInterfaces/IManifest.cs b/src/SMAPI.Toolkit.CoreInterfaces/IManifest.cs new file mode 100644 index 00000000..7375f005 --- /dev/null +++ b/src/SMAPI.Toolkit.CoreInterfaces/IManifest.cs @@ -0,0 +1,44 @@ +using System.Collections.Generic; + +namespace StardewModdingAPI +{ + /// <summary>A manifest which describes a mod for SMAPI.</summary> + public interface IManifest + { + /********* + ** Accessors + *********/ + /// <summary>The mod name.</summary> + string Name { get; } + + /// <summary>A brief description of the mod.</summary> + string Description { get; } + + /// <summary>The mod author's name.</summary> + string Author { get; } + + /// <summary>The mod version.</summary> + ISemanticVersion Version { get; } + + /// <summary>The minimum SMAPI version required by this mod, if any.</summary> + ISemanticVersion MinimumApiVersion { get; } + + /// <summary>The unique mod ID.</summary> + string UniqueID { get; } + + /// <summary>The name of the DLL in the directory that has the <c>Entry</c> method. Mutually exclusive with <see cref="ContentPackFor"/>.</summary> + string EntryDll { get; } + + /// <summary>The mod which will read this as a content pack. Mutually exclusive with <see cref="EntryDll"/>.</summary> + IManifestContentPackFor ContentPackFor { get; } + + /// <summary>The other mods that must be loaded before this mod.</summary> + IManifestDependency[] Dependencies { get; } + + /// <summary>The namespaced mod IDs to query for updates (like <c>Nexus:541</c>).</summary> + string[] UpdateKeys { get; } + + /// <summary>Any manifest fields which didn't match a valid field.</summary> + IDictionary<string, object> ExtraFields { get; } + } +} |