summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <Pathoschild@users.noreply.github.com>2023-04-09 13:14:52 -0400
committerJesse Plamondon-Willard <Pathoschild@users.noreply.github.com>2023-04-09 13:14:52 -0400
commit212634ab551b84182ac09614047fbf5a4f3723ff (patch)
tree878b1c1cdbdc5dc659b69ed17557f7aff07f8be9
parentc10f4c2506342a00eabeaea8e4ad08d9e0eca9a2 (diff)
parent0ef55c4b1e2aea60bc7281c31b9ca0dac70f272a (diff)
downloadSMAPI-212634ab551b84182ac09614047fbf5a4f3723ff.tar.gz
SMAPI-212634ab551b84182ac09614047fbf5a4f3723ff.tar.bz2
SMAPI-212634ab551b84182ac09614047fbf5a4f3723ff.zip
Merge pull request #892 from Shockah/modgroup-config
Mod-group specific config.json overriding
-rw-r--r--src/SMAPI/Constants.cs3
-rw-r--r--src/SMAPI/Framework/SCore.cs2
2 files changed, 5 insertions, 0 deletions
diff --git a/src/SMAPI/Constants.cs b/src/SMAPI/Constants.cs
index 77a19964..e5601747 100644
--- a/src/SMAPI/Constants.cs
+++ b/src/SMAPI/Constants.cs
@@ -142,6 +142,9 @@ namespace StardewModdingAPI
/// <summary>The file path for the overrides file for <see cref="ApiConfigPath"/>, which is applied over it.</summary>
internal static string ApiUserConfigPath => Path.Combine(Constants.InternalFilesPath, "config.user.json");
+ /// <summary>The mod-group-specific file path for the overrides file for <see cref="ApiConfigPath"/>, which is applied over it.</summary>
+ internal static string ApiModGroupConfigPath => Path.Combine(ModsPath, "config.json");
+
/// <summary>The file path for the SMAPI metadata file.</summary>
internal static string ApiMetadataPath => Path.Combine(Constants.InternalFilesPath, "metadata.json");
diff --git a/src/SMAPI/Framework/SCore.cs b/src/SMAPI/Framework/SCore.cs
index abba7f3b..3e179ef7 100644
--- a/src/SMAPI/Framework/SCore.cs
+++ b/src/SMAPI/Framework/SCore.cs
@@ -197,6 +197,8 @@ namespace StardewModdingAPI.Framework
this.Settings = JsonConvert.DeserializeObject<SConfig>(File.ReadAllText(Constants.ApiConfigPath)) ?? throw new InvalidOperationException("The 'smapi-internal/config.json' file is missing or invalid. You can reinstall SMAPI to fix this.");
if (File.Exists(Constants.ApiUserConfigPath))
JsonConvert.PopulateObject(File.ReadAllText(Constants.ApiUserConfigPath), this.Settings);
+ if (File.Exists(Constants.ApiModGroupConfigPath))
+ JsonConvert.PopulateObject(File.ReadAllText(Constants.ApiModGroupConfigPath), this.Settings);
if (developerMode.HasValue)
this.Settings.OverrideDeveloperMode(developerMode.Value);