import { Dir, File } from "gfsl"; import { Artifact, MCJarTypeVal, VersionJson, VersionManifest } from "../../types"; /** * Version data is unique. Each version of the game will generate an unique version object. * Take note however. GMLL,unlike the default launcher, will store version data in the same folder as the version it is based upon. * If forge still works, but you cannot find the file connected to it...this is why. */ export default class Version { manifest: VersionManifest; name: string; folder: Dir; file: File; synced: boolean; override?: Artifact; private json; private _mergeFailure; /**Gets a set version based on a given manifest or version string. Either do not have to be contained within the manifest database. */ static get(manifest: string | VersionManifest): Promise; /** * DO NOT USE CONSTRUCTOR DIRECTLY. FOR INTERNAL USE ONLY! * @see {@link get} : This is the method that should instead be used */ private constructor(); mergeFailure(): boolean; /** * @returns Gets the version json file. * @see {@link json} for synchronous way to access this. The {@link get} method already calls this function and saves it accordingly. */ getJSON(): Promise; /** * Installs the asset files for a set version */ getAssets(): Promise; getRuntime(): Promise; getLibs(): Promise; getJar(type: MCJarTypeVal, jarFile: File): Promise; getJarPath(): File; install(): Promise; getJavaPath(): File; getClassPath(mode?: "client" | "server", jarpath?: File): string[]; }