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