@xmcl/installer
Version:
The installers of Minecraft/Forge/Fabric/Liteloader/Quilt
100 lines • 3.18 kB
TypeScript
import { MinecraftLocation } from '@xmcl/core';
import { FetchOptions, InstallOptions } from './utils';
export interface FabricArtifactVersion {
gameVersion?: string;
separator?: string;
build?: number;
maven: string;
version: string;
stable: boolean;
}
export interface FabricArtifacts {
mappings: FabricArtifactVersion[];
loader: FabricArtifactVersion[];
}
export interface FabricLoaderArtifact {
loader: FabricArtifactVersion;
intermediary: FabricArtifactVersion;
launcherMeta: {
version: number;
libraries: {
client: {
name: string;
url: string;
}[];
common: {
name: string;
url: string;
}[];
server: {
name: string;
url: string;
}[];
};
mainClass: {
client: string;
server: string;
};
};
}
/**
* Get supported fabric game versions
*/
export declare function getFabricGames(options?: FetchOptions): Promise<string[]>;
/**
* Get fabric-loader artifact list
*/
export declare function getFabricLoaders(options?: FetchOptions): Promise<FabricArtifactVersion[]>;
/**
* Get fabric-loader artifact list by Minecraft version
* @param minecraft The minecraft version
*/
export declare function getLoaderArtifactListFor(minecraft: string, options?: FetchOptions): Promise<FabricLoaderArtifact[]>;
/**
* Get fabric-loader artifact list by Minecraft version
* @param minecraft The minecraft version
* @param loader The yarn-loader version
*/
export declare function getFabricLoaderArtifact(minecraft: string, loader: string, options?: FetchOptions): Promise<FabricLoaderArtifact>;
export interface FabricInstallOptions extends InstallOptions {
side?: 'client' | 'server';
}
/**
* Generate fabric version json from loader artifact.
* @param loader The fabric loader artifact
* @param side The side of the fabric
* @param options
* @returns The generated version json
*/
export declare function getVersionJsonFromLoaderArtifact(loader: FabricLoaderArtifact, side: 'client' | 'server', options?: FabricInstallOptions): {
id: string;
inheritsFrom: string;
mainClass: string;
libraries: {
name: string;
url: string;
}[];
arguments: {
game: never[];
jvm: never[];
};
releaseTime: string;
time: string;
};
/**
* Install fabric version json.
*
* If side is `server`, it requires the Minecraft version json to be installed.
*
* @returns The installed version id
*/
export declare function installFabricByLoaderArtifact(loader: FabricLoaderArtifact, minecraft: MinecraftLocation, options?: FabricInstallOptions): Promise<string>;
export interface InstallFabricVersionOptions extends FetchOptions {
minecraftVersion: string;
version: string;
minecraft: MinecraftLocation;
side?: 'client' | 'server';
}
export declare const DEFAULT_META_URL_FABRIC = "https://meta.fabricmc.net";
export declare function installFabric(options: InstallFabricVersionOptions): Promise<string>;
//# sourceMappingURL=fabric.d.ts.map