using System; namespace StardewModdingAPI.Toolkit.Framework.ModData { /// <summary>Indicates a detected non-error mod issue.</summary> [Flags] public 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> ChangesSaveSerializer = 2, /// <summary>The mod patches the game in a way that may impact stability.</summary> PatchesGame = 4, #if SMAPI_DEPRECATED /// <summary>The mod uses the <c>dynamic</c> keyword which won't work on Linux/macOS.</summary> [Obsolete("This value is no longer used by SMAPI and will be removed in the upcoming SMAPI 4.0.0.")] UsesDynamic = 8, #endif /// <summary>The mod references specialized 'unvalidated update tick' events which may impact stability.</summary> UsesUnvalidatedUpdateTick = 16, /// <summary>The mod has no update keys set.</summary> NoUpdateKeys = 32, /// <summary>Uses .NET APIs for reading and writing to the console.</summary> AccessesConsole = 64, /// <summary>Uses .NET APIs for filesystem access.</summary> AccessesFilesystem = 128, /// <summary>Uses .NET APIs for shell or process access.</summary> AccessesShell = 256, #if SMAPI_DEPRECATED /// <summary>References the legacy <c>System.Configuration.ConfigurationManager</c> assembly and doesn't include a copy in the mod folder, so it'll break in SMAPI 4.0.0.</summary> DetectedLegacyConfigurationDll = 512, /// <summary>References the legacy <c>System.Runtime.Caching</c> assembly and doesn't include a copy in the mod folder, so it'll break in SMAPI 4.0.0.</summary> DetectedLegacyCachingDll = 1024, /// <summary>References the legacy <c>System.Security.Permissions</c> assembly and doesn't include a copy in the mod folder, so it'll break in SMAPI 4.0.0.</summary> DetectedLegacyPermissionsDll = 2048 #endif } }