dmclc
Version:
Dolphin Minecraft Launcher Core
38 lines (37 loc) • 1.86 kB
TypeScript
import StreamZip from "node-stream-zip";
import { Launcher } from "../../launcher.js";
import { ModDisplayInfo, ModInfo } from "../../mods/mod.js";
import { MCVersion } from "../../schemas.js";
import { MinecraftVersion } from "../../version.js";
import { FabricModJson } from "../fabric_schemas.js";
import { Loader, ModLoadingIssue } from "../loader.js";
import { FabricLikeVersionInfo } from "./fabriclike_version_info.js";
export declare abstract class FabricLikeLoader<T extends FabricLikeVersionInfo, M> implements Loader<M | FabricModJson> {
abstract loaderMaven: string;
abstract metaURL: string;
abstract name: string;
intermediaryMaven: string;
protected readonly launcher: Launcher;
constructor(launcher: Launcher);
abstract checkMods(mods: ModInfo<M>[], mc: string, loader: string): ModLoadingIssue[];
abstract findInVersion(MCVersion: MCVersion): string | undefined;
abstract getModInfo(mod: M | FabricModJson): ModDisplayInfo;
findModInfos(path: string): Promise<ModInfo<FabricModJson | M>[]>;
findModInfosInZip(zip: StreamZip.StreamZipAsync): Promise<ModInfo<FabricModJson | M>[]>;
private readonly cachedLoaderVersions;
/**
*
* @throws {@link FormattedError}
* @param MCVersion - Minecraft version.
* @returns Loader versions.
*/
getSuitableLoaderVersions(MCVersion: MinecraftVersion): Promise<string[]>;
install(MCVersion: MinecraftVersion, version: string): Promise<boolean>;
}
/**
* See net.fabricmc.loader.impl.game.minecraft.McVersionLookup#normalizeVersion
* @param mc - Original Minecraft version.
*/
export declare function normalizeVersion(mc: string): string;
export declare function checkMatch(current: string, required: string | string[]): boolean;
export declare function formatDepVersion(version: string | string[], launcher: Launcher): string;