summaryrefslogtreecommitdiff
path: root/src/SMAPI/SMAPI.config.json
blob: 0d00db4d704bb7c4488e6c57f6e6e4f30006b694 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
/*



This file contains advanced configuration for SMAPI. You generally shouldn't change this file.
The default values are mirrored in StardewModdingAPI.Framework.Models.SConfig to log custom changes.


This file is overwritten each time you update or reinstall SMAPI. To avoid losing custom settings,
create a 'config.user.json' file in the same folder 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": true,

    /**
     * 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 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,

    /**
     * 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.ErrorHandler",
        "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": []
}