using StardewModdingAPI.Framework.Models; namespace StardewModdingAPI.Framework.ModLoading { /// Metadata for a mod. internal interface IModMetadata { /********* ** Accessors *********/ /// The mod's display name. string DisplayName { get; } /// The mod's full directory path. string DirectoryPath { get; } /// The mod manifest. IManifest Manifest { get; } /// Optional metadata about a mod version that SMAPI should assume is compatible or broken, regardless of whether it detects incompatible code. ModCompatibility Compatibility { get; } /// The metadata resolution status. ModMetadataStatus Status { get; } /// The reason the metadata is invalid, if any. string Error { get; } /********* ** Public methods *********/ /// Set the mod status. /// The metadata resolution status. /// The reason the metadata is invalid, if any. /// Return the instance for chaining. IModMetadata SetStatus(ModMetadataStatus status, string error = null); } }