104 lines
1.7 KiB
TypeScript
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
|
|
}
|
|
}
|
|
|
|
}
|