/*



This file has advanced configuration for SMAPI.

Don't edit this file directly! It will be reset each time you update or reinstall SMAPI.

Instead create a `smapi-internal/config.user.json` or `Mods/SMAPI-config.json` file with *only* the
settings you want to change. That file won't be overwritten, and any settings in it will override
the default options. Don't copy all the settings, or you may cause bugs due to overridden changes
in future SMAPI versions.



*/
{
    /**
     * The logs for which to enable verbose logging, which may show a lot more information to
     * simplify troubleshooting.
     *
     * The possible values are:
     *   - "*" for everything (not recommended);
     *   - "SMAPI" for messages from SMAPI itself;
     *   - mod IDs from their manifest.json files.
     *
     * For example: [ "SMAPI", "Pathoschild.ContentPatcher" ]
     */
    "VerboseLogging": [],

    /**
     * Whether SMAPI should check for newer versions of SMAPI and mods when you load the game. If new
     * versions are available, an alert will be shown in the console. This doesn't affect the load
     * time even if your connection is offline or slow, because it happens in the background.
     */
    "CheckForUpdates": true,

    /**
     * Whether to enable features intended for mod developers. Currently this only makes TRACE-level
     * messages appear in the console.
     */
    "DeveloperMode": false,

    /**
     * Whether SMAPI should listen for console input. Disabling this will prevent you from using
     * console commands. On some specific Linux systems, disabling this may reduce CPU usage.
     */
    "ListenForConsoleInput": true,

    /**
     * Whether SMAPI should rewrite mods for compatibility. This may prevent older mods from
     * loading, but bypasses a Visual Studio crash when debugging.
     */
    "RewriteMods": true,

    /**
     * Whether to fix the library mods use to patch game code, so it works with Stardew Valley.
     *
     * If you disable this, mods which use Harmony are likely to cause game crashes.
     */
    "FixHarmony": true,

    /**
     * Whether to make SMAPI file APIs case-insensitive (even if the filesystem is case-sensitive).
     *
     * If null, it's only enabled on Android and Linux.
     */
    "UseCaseInsensitivePaths": null,

    /**
     * Whether to add a section to the 'mod issues' list for mods which directly use potentially
     * sensitive .NET APIs like file or shell access. Note that many mods do this legitimately as
     * part of their normal functionality, so these warnings are meaningless without further
     * investigation.
     *
     * If null, it's only enabled for local debug builds.
     */
    "ParanoidWarnings": null,

    /**
     * Whether SMAPI should show newer beta versions as an available update.
     *
     * If null, it's only enabled if the current SMAPI version is beta.
     */
    "UseBetaChannel": null,

    /**
     * SMAPI's GitHub project name, used to perform update checks.
     */
    "GitHubProjectName": "Pathoschild/SMAPI",

    /**
     * The base URL for SMAPI's web API, used to perform update checks.
     */
    "WebApiBaseUrl": "https://smapi.io/api/",

    /**
     * Whether SMAPI should log network traffic (may be very verbose). Best combined with VerboseLogging, which includes network metadata.
     */
    "LogNetworkTraffic": false,

    /**
     * Whether to include more technical details about broken mods in the TRACE logs. This is
     * mainly useful for creating compatibility rewriters, it's not useful to most players or mod
     * authors.
     */
    "LogTechnicalDetailsForBrokenMods": false,

    /**
     * The colors to use for text written to the SMAPI console.
     *
     * The possible values for 'UseScheme' are:
     *  - AutoDetect: SMAPI will assume a light background on macOS, and detect the background color
     *    automatically on Linux or Windows.
     *  - LightBackground: use darker text colors that look better on a white or light background.
     *  - DarkBackground: use lighter text colors that look better on a black or dark background.
     *  - None: disables all colors, so everything is written in the default terminal color.
     *
     * For available color codes, see https://docs.microsoft.com/en-us/dotnet/api/system.consolecolor.
     *
     * (These values are synched with ColorfulConsoleWriter.GetDefaultColorSchemeConfig in the
     * SMAPI code.)
     */
    "ConsoleColors": {
        "UseScheme": "AutoDetect",

        "Schemes": {
            "DarkBackground": {
                "Trace": "DarkGray",
                "Debug": "DarkGray",
                "Info": "White",
                "Warn": "Yellow",
                "Error": "Red",
                "Alert": "Magenta",
                "Success": "DarkGreen"
            },
            "LightBackground": {
                "Trace": "DarkGray",
                "Debug": "DarkGray",
                "Info": "Black",
                "Warn": "DarkYellow",
                "Error": "Red",
                "Alert": "DarkMagenta",
                "Success": "DarkGreen"
            }
        }
    },

    /**
     * Whether to prevent mods from enabling Harmony's debug mode, which impacts performance and
     * creates a file on your desktop. Debug mode should never be enabled by a released mod.
     *
     * If you actually need debug mode to test your own mod, set this to false.
     */
    "SuppressHarmonyDebugMode": true,

    /**
     * The mod IDs SMAPI should ignore when performing update checks or validating update keys.
     */
    "SuppressUpdateChecks": [
        "SMAPI.ConsoleCommands",
        "SMAPI.SaveBackup"
    ],

    /**
     * The mod IDs SMAPI should load before any other mods (except those needed to load them)
     * or after any other mods.
     *
     * This lets you manually fix the load order if needed, but this is a last resort — SMAPI
     * automatically adjusts the load order based on mods' dependencies, so needing to manually
     * edit the order is usually a problem with one or both mods' metadata that can be reported to
     * the mod author.
     */
    "ModsToLoadEarly": [],
    "ModsToLoadLate": []
}
