using StardewModdingAPI.Internal.ConsoleWriting;
namespace StardewModdingAPI.Framework.Models
{
/// The SMAPI configuration settings.
internal class SConfig
{
/********
** Accessors
********/
/// Whether to enable development features.
public bool DeveloperMode { get; set; }
/// Whether to check for newer versions of SMAPI and mods on startup.
public bool CheckForUpdates { get; set; }
/// Whether to add a section to the 'mod issues' list for mods which which directly use potentially sensitive .NET APIs like file or shell access.
public bool ParanoidWarnings { get; set; } =
#if DEBUG
true;
#else
false;
#endif
/// Whether to show beta versions as valid updates.
public bool UseBetaChannel { get; set; } = Constants.ApiVersion.IsPrerelease();
/// SMAPI's GitHub project name, used to perform update checks.
public string GitHubProjectName { get; set; }
/// The base URL for SMAPI's web API, used to perform update checks.
public string WebApiBaseUrl { get; set; }
/// Whether SMAPI should log more information about the game context.
public bool VerboseLogging { get; set; }
/// Whether SMAPI should log network traffic. Best combined with , which includes network metadata.
public bool LogNetworkTraffic { get; set; }
/// Whether to generate a file in the mods folder with detailed metadata about the detected mods.
public bool DumpMetadata { get; set; }
/// The console color scheme to use.
public MonitorColorScheme ColorScheme { get; set; }
/// The mod IDs SMAPI should ignore when performing update checks or validating update keys.
public string[] SuppressUpdateChecks { get; set; }
}
}