namespace StardewModdingAPI.Toolkit.Framework.Clients.Wiki
{
/// An entry in the mod compatibility list.
public class WikiCompatibilityEntry
{
/*********
** Accessors
*********/
/****
** Mod info
****/
/// The mod's unique ID. A mod may have multiple current IDs in rare cases (e.g. due to parallel releases or unofficial updates).
public string[] ID { get; set; }
/// The mod's display name.
public string Name { get; set; }
/// The mod ID on Nexus.
public int? NexusID { get; set; }
/// The mod ID in the Chucklefish mod repo.
public int? ChucklefishID { get; set; }
/// The GitHub repository in the form 'owner/repo'.
public string GitHubRepo { get; set; }
/// The URL to a non-GitHub source repo.
public string CustomSourceUrl { get; set; }
/// The custom mod page URL (if applicable).
public string CustomUrl { get; set; }
/****
** Stable compatibility
****/
/// The compatibility status.
public WikiCompatibilityStatus Status { get; set; }
/// The human-readable summary of the compatibility status or workaround, without HTML formatting.
public string Summary { get; set; }
/// The version of the latest unofficial update, if applicable.
public ISemanticVersion UnofficialVersion { get; set; }
/****
** Beta compatibility
****/
/// Whether a Stardew Valley or SMAPI beta which affects mod compatibility is in progress. If this is true, should be used for beta versions of SMAPI instead of .
public bool HasBetaInfo => this.BetaStatus != null;
/// The compatibility status for the Stardew Valley beta, if a beta is in progress.
public WikiCompatibilityStatus? BetaStatus { get; set; }
/// The human-readable summary of the compatibility status or workaround for the Stardew Valley beta (if any), without HTML formatting.
public string BetaSummary { get; set; }
/// The version of the latest unofficial update for the Stardew Valley beta (if any), if applicable.
public ISemanticVersion BetaUnofficialVersion { get; set; }
}
}