HeliosLauncher/src/main/model/mojang/index/VersionJson.ts

104 lines
1.7 KiB
TypeScript

export interface Rule {
action: string
os?: {
name: string
version?: string
}
features?: {
[key: string]: boolean
}
}
export interface Natives {
linux?: string
osx?: string
windows?: string
}
interface BaseArtifact {
sha1: string
size: number
url: string
}
interface LibraryArtifact extends BaseArtifact {
path: string
}
export interface Library {
downloads: {
artifact: LibraryArtifact
classifiers?: {
javadoc?: LibraryArtifact
'natives-linux'?: LibraryArtifact
'natives-macos'?: LibraryArtifact
'natives-windows'?: LibraryArtifact
sources?: LibraryArtifact
}
}
extract?: {
exclude: string[]
}
name: string
natives?: Natives
rules?: Rule[]
}
export interface VersionJson {
arguments: {
game: string[]
jvm: {
rules: Rule[]
value: string[]
}[]
}
assetIndex: {
id: string
sha1: string
size: number
totalSize: number
url: string
}
assets: string
downloads: {
client: BaseArtifact
server: BaseArtifact
}
id: string
libraries: Library[]
logging: {
client: {
argument: string
file: {
id: string
sha1: string
size: number
url: string
}
type: string
}
}
mainClass: string
minimumLauncherVersion: number
releaseTime: string
time: string
type: string
}
export interface AssetIndex {
objects: {
[file: string]: {
hash: string
size: number
}
}
}