diff --git a/index.d.ts b/index.d.ts
index 9bd5f10..2ed5e44 100644
--- a/index.d.ts
+++ b/index.d.ts
@@ -1,110 +1,212 @@
///
declare module "minecraft-launcher-core" {
- type OS = "windows" | "osx" | "linux";
-
- interface IOverrides {
- minArgs?: number;
- minecraftJar?: string;
- versionJson?: string;
- directory?: string;
- natives?: string;
- assetRoot?: string;
- libraryRoot?: string;
- cwd?: string;
- detached?: boolean;
- classes?: Array;
- maxSockets?: number;
- url?: {
- meta?: string;
- resources?: string;
- mavenForge?: string;
- defaultRepoForge?: string;
- fallbackMaven?: string;
- };
- }
-
- interface ILauncherOptions {
- clientPackage?: string;
- removePackage?: boolean;
- installer?: string;
- root: string;
- os?: OS;
- customLaunchArgs?: Array;
- customArgs?: Array;
- version: {
- number: string;
- type: string;
- custom?: string;
- };
- memory: {
- max: string | number;
- min: string | number;
- };
- forge?: string;
- javaPath?: string;
- server?: {
- host: string;
- port: string;
- };
- proxy?: {
- host: string;
- port: string;
- username?: string;
- password?: string;
- };
- timeout?: number;
- window?: {
- width?: number;
- height?: number;
- fullscreen?: boolean;
- };
- overrides?: IOverrides;
- authorization: Promise;
- }
-
- interface IUser {
- access_token: string;
- client_token: string;
- uuid: string;
- name: string;
- user_properties: Partial;
- }
-
- interface IProfile {
- id: number;
- name: string;
- }
-
- interface IAuthenticator {
- getAuth(username: string, password?: string): Promise;
- validate(
- access_token: string,
- client_token: string
- ): Promise>;
- refreshAuth(
- access_token: string,
- client_token: string,
- selectedProfile: IProfile
- ): Promise;
- invalidate(
- access_token: string,
- client_token: string
- ): Promise>;
- signOut(
- username: string,
- password: string
- ): Promise>;
- changeApiUrl(url: string): void;
- }
-
- import { EventEmitter } from 'events'
- import { ChildProcessWithoutNullStreams } from 'child_process'
-
- export class Client extends EventEmitter {
- launch(options: ILauncherOptions): ChildProcessWithoutNullStreams | null;
- }
-
- export const Authenticator: IAuthenticator;
+ type OS = "windows" | "osx" | "linux";
+
+ interface IOverrides {
+ minArgs?: number;
+ minecraftJar?: string;
+ versionJson?: string;
+ directory?: string;
+ natives?: string;
+ assetRoot?: string;
+ libraryRoot?: string;
+ cwd?: string;
+ detached?: boolean;
+ classes?: Array;
+ maxSockets?: number;
+ url?: {
+ meta?: string;
+ resources?: string;
+ mavenForge?: string;
+ defaultRepoForge?: string;
+ fallbackMaven?: string;
+ };
}
-
\ No newline at end of file
+
+ interface ILauncherOptions {
+ /**
+ * Path or URL to the client package zip file.
+ */
+ clientPackage?: string;
+ /**
+ * if true MCLC will remove the client package zip file after its finished extracting.
+ */
+ removePackage?: boolean;
+ /**
+ * Path to installer being executed.
+ */
+ installer?: string;
+ /**
+ * Path where you want the launcher to work in.
+ * This will usually be your .minecraft folder
+ */
+ root: string;
+ /**
+ * OS override for minecraft natives
+ *
+ * @default will autodetect
+ */
+ os?: OS;
+ /**
+ * Array of custom Minecraft arguments.
+ */
+ customLaunchArgs?: Array;
+ /**
+ * Array of custom Java arguments
+ */
+ customArgs?: Array;
+ /**
+ * minecraft version info
+ */
+ version: {
+ /**
+ * Actual version.
+ *
+ * @example '1.16.4'
+ */
+ number: string;
+ /**
+ * type of release, usually `release` or `snapshot`
+ */
+ type: 'release' | 'snapshot' | string;
+ /**
+ * The name of the folder, jar file, and version json in the version folder.
+ *
+ * ` MCLM will look in the `versions` folder for this name
+ * @example '1.16.4-fabric'
+ */
+ custom?: string;
+ };
+ memory: {
+ /**
+ * Min amount of memory being used by Minecraft.
+ */
+ max: string | number;
+ /**
+ * Max amount of memory being used by Minecraft.
+ */
+ min: string | number;
+ };
+ /**
+ * Path to Forge Jar.
+ *
+ * Versions below 1.13 should be the "universal" jar while versions above 1.13+ should be the "installer" jar
+ */
+ forge?: string;
+ /**
+ * Path to the JRE executable file, will default to java if not entered.
+ */
+ javaPath?: string;
+ server?: {
+ /**
+ * Host url to the server, don't include the port.
+ */
+ host: string;
+ /**
+ * Port of the host url
+ *
+ * @default 25565
+ */
+ port?: string;
+ };
+ proxy?: {
+ /**
+ * Host url to the proxy, don't include the port.
+ */
+ host: string;
+ /**
+ * Username for the proxy.
+ *
+ * @default 8080
+ */
+ port?: string;
+ /**
+ * Username for the proxy.
+ */
+ username?: string;
+ /**
+ * Password for the proxy.
+ */
+ password?: string;
+ };
+ /**
+ * Timeout on download requests.
+ */
+ timeout?: number;
+ window?: {
+ width?: number;
+ height?: number;
+ fullscreen?: boolean;
+ };
+ overrides?: IOverrides;
+ authorization: Promise;
+ }
+
+ interface IUser {
+ access_token: string;
+ client_token: string;
+ uuid: string;
+ name: string;
+ user_properties: Partial;
+ }
+
+ interface IProfile {
+ id: number;
+ name: string;
+ }
+
+ interface IAuthenticator {
+ /**
+ * @param username email if using a password, else the username
+ * @param password password for mojang account
+ */
+ getAuth(username: string, password?: string): Promise;
+ /**
+ *
+ * @param access_token Token being checked if it can be used to login with (online mode)
+ * @param client_token Client token being checked to see if there was a change of client (online mode)
+ */
+ validate(
+ access_token: string,
+ client_token: string
+ ): Promise>;
+ /**
+ *
+ * @param access_token Token being checked if it can be used to login with (online mode)
+ * @param client_token Client token being checked to see if there was a change of client (online mode)
+ */
+ refreshAuth(
+ access_token: string,
+ client_token: string,
+ selectedProfile: IProfile
+ ): Promise;
+ /**
+ *
+ * @param access_token Token being checked if it can be used to login with (online mode)
+ * @param client_token Client token being checked to see if there was a change of client (online mode)
+ */
+ invalidate(
+ access_token: string,
+ client_token: string
+ ): Promise>;
+ /**
+ * @param username email if using a password, else the username
+ * @param password password for mojang account
+ */
+ signOut(
+ username: string,
+ password: string
+ ): Promise>;
+ changeApiUrl(url: string): void;
+ }
+
+ import { EventEmitter } from 'events'
+ import { ChildProcessWithoutNullStreams } from 'child_process'
+
+ export class Client extends EventEmitter {
+ launch(options: ILauncherOptions): ChildProcessWithoutNullStreams | null;
+ }
+
+ export const Authenticator: IAuthenticator;
+}
diff --git a/package-lock.json b/package-lock.json
index fd2a9e6..22e5e05 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "minecraft-launcher-core",
- "version": "3.14.6",
+ "version": "3.16.1",
"lockfileVersion": 1,
"requires": true,
"dependencies": {