diff options
author | Michał Dolaś <me@shockah.pl> | 2023-01-09 11:39:38 +0100 |
---|---|---|
committer | Michał Dolaś <me@shockah.pl> | 2023-01-09 11:39:38 +0100 |
commit | 0ef55c4b1e2aea60bc7281c31b9ca0dac70f272a (patch) | |
tree | e6e6c31ce66ee3f83542f9970e76a0d67e4e9b16 | |
parent | d35f45fc3242d330a2021017054e932eff64f2ca (diff) | |
download | SMAPI-0ef55c4b1e2aea60bc7281c31b9ca0dac70f272a.tar.gz SMAPI-0ef55c4b1e2aea60bc7281c31b9ca0dac70f272a.tar.bz2 SMAPI-0ef55c4b1e2aea60bc7281c31b9ca0dac70f272a.zip |
Mod-group specific config.json overriding
-rw-r--r-- | src/SMAPI/Constants.cs | 3 | ||||
-rw-r--r-- | src/SMAPI/Framework/SCore.cs | 2 |
2 files changed, 5 insertions, 0 deletions
diff --git a/src/SMAPI/Constants.cs b/src/SMAPI/Constants.cs index c5058e4b..3ff3159b 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 c977ad65..fea0f7d0 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); |