summaryrefslogtreecommitdiff
path: root/src/SMAPI/Framework/ModHelpers
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <github@jplamondonw.com>2018-02-17 16:34:31 -0500
committerJesse Plamondon-Willard <github@jplamondonw.com>2018-02-17 18:54:57 -0500
commit4444b590f016ebecfc113a0dd4584723b0250f41 (patch)
treedea12bd0ad7d6c0328ffefcd47dc1c5166b4b8db /src/SMAPI/Framework/ModHelpers
parent0c1bca3db044b6f228538f1738d52c31e4481e48 (diff)
downloadSMAPI-4444b590f016ebecfc113a0dd4584723b0250f41.tar.gz
SMAPI-4444b590f016ebecfc113a0dd4584723b0250f41.tar.bz2
SMAPI-4444b590f016ebecfc113a0dd4584723b0250f41.zip
add content pack feature (#436)
Diffstat (limited to 'src/SMAPI/Framework/ModHelpers')
-rw-r--r--src/SMAPI/Framework/ModHelpers/ModHelper.cs19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/SMAPI/Framework/ModHelpers/ModHelper.cs b/src/SMAPI/Framework/ModHelpers/ModHelper.cs
index 665b9cf4..c73dc307 100644
--- a/src/SMAPI/Framework/ModHelpers/ModHelper.cs
+++ b/src/SMAPI/Framework/ModHelpers/ModHelper.cs
@@ -1,5 +1,7 @@
-using System;
+using System;
+using System.Collections.Generic;
using System.IO;
+using System.Linq;
using StardewModdingAPI.Framework.Serialisation;
namespace StardewModdingAPI.Framework.ModHelpers
@@ -13,6 +15,9 @@ namespace StardewModdingAPI.Framework.ModHelpers
/// <summary>Encapsulates SMAPI's JSON file parsing.</summary>
private readonly JsonHelper JsonHelper;
+ /// <summary>The content packs loaded for this mod.</summary>
+ private readonly IContentPack[] ContentPacks;
+
/*********
** Accessors
@@ -48,9 +53,10 @@ namespace StardewModdingAPI.Framework.ModHelpers
/// <param name="modRegistry">an API for fetching metadata about loaded mods.</param>
/// <param name="reflectionHelper">An API for accessing private game code.</param>
/// <param name="translationHelper">An API for reading translations stored in the mod's <c>i18n</c> folder.</param>
+ /// <param name="contentPacks">The content packs loaded for this mod.</param>
/// <exception cref="ArgumentNullException">An argument is null or empty.</exception>
/// <exception cref="InvalidOperationException">The <paramref name="modDirectory"/> path does not exist on disk.</exception>
- public ModHelper(string modID, string modDirectory, JsonHelper jsonHelper, IContentHelper contentHelper, ICommandHelper commandHelper, IModRegistry modRegistry, IReflectionHelper reflectionHelper, ITranslationHelper translationHelper)
+ public ModHelper(string modID, string modDirectory, JsonHelper jsonHelper, IContentHelper contentHelper, ICommandHelper commandHelper, IModRegistry modRegistry, IReflectionHelper reflectionHelper, ITranslationHelper translationHelper, IEnumerable<IContentPack> contentPacks)
: base(modID)
{
// validate directory
@@ -67,6 +73,7 @@ namespace StardewModdingAPI.Framework.ModHelpers
this.ConsoleCommands = commandHelper ?? throw new ArgumentNullException(nameof(commandHelper));
this.Reflection = reflectionHelper ?? throw new ArgumentNullException(nameof(reflectionHelper));
this.Translation = translationHelper ?? throw new ArgumentNullException(nameof(translationHelper));
+ this.ContentPacks = contentPacks.ToArray();
}
/****
@@ -116,6 +123,14 @@ namespace StardewModdingAPI.Framework.ModHelpers
this.JsonHelper.WriteJsonFile(path, model);
}
+ /****
+ ** Content packs
+ ****/
+ /// <summary>Get all content packs loaded for this mod.</summary>
+ public IEnumerable<IContentPack> GetContentPacks()
+ {
+ return this.ContentPacks;
+ }
/****
** Disposal