98 lines
2.9 KiB
C#
98 lines
2.9 KiB
C#
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<string>? 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<Rule>? 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<Library> libraries { get; set; } = null!;
|
||
[JsonRequired] public AssetIndex assetIndex { get; set; } = null!;
|
||
[JsonRequired] public string assets { get; set; } = "";
|
||
// public string minecraftArguments { get; set; }
|
||
} |