dmclc
Version:
Dolphin Minecraft Launcher Core
53 lines (52 loc) • 1.37 kB
TypeScript
import { MinecraftVersion } from "../version.js";
import { UserData } from "./user_data.js";
/**
* An account.
* @public
*/
export interface Account<T extends UserData> {
data: T;
/**
* Check if this account can use without input any other information again, and refresh access token.
* @throws RequestError
*/
check(): Promise<boolean>;
/**
* @throws RequestError
*/
login(): Promise<boolean>;
/**
* Get UUID of this account.
* @returns UUID.
*/
getUUID(): string;
/**
* Prepare for launch. For example, download your Java Agent.
* @throws RequestError
*/
prepareLaunch(versionDir: string): Promise<boolean>;
/**
* Get extra JVM arguments. For example, Java Agent.
* @throws RequestError
*/
getLaunchJVMArgs(mc: MinecraftVersion): Promise<string[]>;
/**
* Get extra JVM arguments.
* For example:
* \{
* 'auth_access_token' =\> '***',
* 'user_type' =\> 'mojang',
* 'user_properties' =\> '\{\}',
* 'auth_player_name' =\> 'Steve'
* \}
*/
getLaunchGameArgs(): Promise<Map<string, string>>;
/**
* Get localized human-readable string. For example: Steve (Offline), Alex (微软账号).
*/
toString(): string;
/**
* Get masks for log.
*/
getTokens(): string[];
}