using Newtonsoft.Json; namespace Млаумчерб.Клиент.классы; public class Artifact { [JsonRequired] public string url { get; set; } = ""; [JsonRequired] public string sha1 { get; set; } = ""; [JsonRequired] public int size { get; set; } } public class Os { [JsonRequired] public string name { get; set; } = ""; } public class Rule { [JsonRequired] public string action { get; set; } = ""; [JsonRequired] public Os os { get; set; } = null!; } public class Classifiers { [JsonProperty("natives-linux")] public Artifact? nativeslinux { get; set; } [JsonProperty("natives-osx")] public Artifact? nativesosx { get; set; } [JsonProperty("natives-windows")] public Artifact? nativeswindows { get; set; } } public class LibraryDownloads { public Artifact? artifact { get; set; } public Classifiers? classifiers { get; set; } } public class Extract { public List? exclude { get; set; } } public class Natives { public string? linux { get; set; } public string? osx { get; set; } public string? windows { get; set; } } public class Library { [JsonRequired] public string name { get; set; } = ""; public List? rules { get; set; } public Natives? natives { get; set; } public Extract? extract { get; set; } [JsonRequired] public LibraryDownloads downloads { get; set; } = null!; } public class AssetIndex { [JsonRequired] public string id { get; set; } = ""; [JsonRequired] public int totalSize { get; set; } [JsonRequired] public bool known { get; set; } [JsonRequired] public string url { get; set; } = ""; [JsonRequired] public string sha1 { get; set; } = ""; [JsonRequired] public int size { get; set; } } public class Downloads { [JsonRequired] public Artifact client { get; set; } = null!; } public class JavaVersion { [JsonRequired] public string component { get; set; } = ""; [JsonRequired] public int majorVersion { get; set; } } public class MinecraftVersionDescriptor { [JsonRequired] public string id { get; set; } = ""; [JsonRequired] public string jar { get; set; } = ""; [JsonRequired] public string family { get; set; } = ""; [JsonRequired] public DateTime time { get; set; } [JsonRequired] public DateTime releaseTime { get; set; } [JsonRequired] public string type { get; set; } = ""; [JsonRequired] public string mainClass { get; set; } = ""; [JsonRequired] public Downloads downloads { get; set; } = null!; [JsonRequired] public JavaVersion javaVersion { get; set; } = null!; [JsonRequired] public List libraries { get; set; } = null!; [JsonRequired] public AssetIndex assetIndex { get; set; } = null!; [JsonRequired] public string assets { get; set; } = ""; // public string minecraftArguments { get; set; } }