summaryrefslogtreecommitdiff
path: root/src/SMAPI/Framework/ModLoading/ModWarning.cs
blob: e643cb059044df029a5fc79f0e84105b527032f8 (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
using System;
using StardewModdingAPI.Events;

namespace StardewModdingAPI.Framework.ModLoading
{
    /// <summary>Indicates a detected non-error mod issue.</summary>
    [Flags]
    internal enum ModWarning
    {
        /// <summary>No issues detected.</summary>
        None = 0,

        /// <summary>SMAPI detected incompatible code in the mod, but was configured to load it anyway.</summary>
        BrokenCodeLoaded = 1,

        /// <summary>The mod affects the save serializer in a way that may make saves unloadable without the mod.</summary>
        ChangesSaveSerialiser = 2,

        /// <summary>The mod patches the game in a way that may impact stability.</summary>
        PatchesGame = 4,

        /// <summary>The mod uses the <c>dynamic</c> keyword which won't work on Linux/Mac.</summary>
        UsesDynamic = 8,

        /// <summary>The mod references <see cref="ISpecialisedEvents.UnvalidatedUpdateTicking"/> or <see cref="ISpecialisedEvents.UnvalidatedUpdateTicked"/> which may impact stability.</summary>
        UsesUnvalidatedUpdateTick = 16,

        /// <summary>The mod has no update keys set.</summary>
        NoUpdateKeys = 32,

        /// <summary>Uses .NET APIs for filesystem access.</summary>
        AccessesFilesystem = 64,

        /// <summary>Uses .NET APIs for shell or process access.</summary>
        AccessesShell = 128
    }
}