using Newtonsoft.Json; using StardewModdingAPI.Framework.Serialisation; namespace StardewModdingAPI.Framework.Models { /// Metadata about a mod from SMAPI's internal data. internal class ModDataRecord { /********* ** Accessors *********/ /// The unique mod IDs. [JsonConverter(typeof(SFieldConverter))] public ModDataID[] ID { get; set; } /// The mod name. public string Name { get; set; } /// The oldest incompatible mod version, or null for all past versions. [JsonConverter(typeof(SFieldConverter))] public ISemanticVersion LowerVersion { get; set; } /// The most recent incompatible mod version. [JsonConverter(typeof(SFieldConverter))] public ISemanticVersion UpperVersion { get; set; } /// A label to show to the user instead of , when the manifest version differs from the user-facing version. public string UpperVersionLabel { get; set; } /// The URLs the user can check for a newer version. public string[] UpdateUrls { get; set; } /// The reason phrase to show in the warning, or null to use the default value. /// "this version is incompatible with the latest version of the game" public string ReasonPhrase { get; set; } /// Indicates how SMAPI should treat the mod. public ModStatus Status { get; set; } = ModStatus.AssumeBroken; } }