Core for pimi-launcher (Minecraft)
Find a file
2019-01-28 17:26:04 -05:00
components Download progress event 2019-01-28 17:26:04 -05:00
.gitattributes Init 2018-10-29 18:13:58 -04:00
.gitignore Removed a unneeded require 2018-12-09 18:13:20 -05:00
index.js Events 2019-01-12 21:39:22 -05:00
LICENSE Init 2018-10-29 18:13:58 -04:00
package-lock.json Removed a unneeded require 2018-12-09 18:13:20 -05:00
package.json Download progress event 2019-01-28 17:26:04 -05:00
README.md making docs more accurate 2018-12-30 20:47:22 -05:00

Minecraft Launcher Core

Currently only supports MC 1.7.3 and up.

A script that launches Minecraft using NodeJS.

Installing

npm i minecraft-launcher-core

Usage

launcher.core Options
Parameter Type Description Required
options.authorization Object The result from getAuth function, allows the client to login in online or offline mode. True
options.clientPackage String Path to the client package zip file. False
options.root String Path where you want the launcher to work in. like C:/Users/user/AppData/Roaming/.mc True
options.os String windows, osx or linux True
options.version.number String Minecraft version that is going to be launched. True
options.version.type String Any string. The actual Minecraft launcher uses release and snapshot. True
options.memory.max String Max amount of memory being used by Minectaft True

launcher.authenticator Functions

getAuth
Parameter Type Description Required
email String Email or username True
password String Password for the Mojang account being used if online mode. False
validate
Parameter Type Description Required
access_token String Token being checked if it can be used to login with (online mode). True
refreshAuth
Parameter Type Description Required
access_token String Token being checked if it can be used to login with (online mode). True
client_token String Token being checked if it's the same client that the access_token was created from. True
selected_profile Object Json Object that was returned from Mojangs auth api. True

Client Package Function

Client Packages allow the client to run offline on setup. This function should be used outside the actual launcher. this function is in the handler component.

makePackage
Parameter Type Description Required
versions Array Array of the versions being downloaded and being made into a package. True
os String OS that the package will be loaded on. OS specific natives need this. True

Examples

const launcher = require('minecraft-launcher-core');

launcher.authenticator.getAuth("email", "password").then(auth => {
    // Save the auth to a file so it can be used later on!
    launcher.core({
        authorization: auth,
        clientPackage: null,
        root: "C:/Users/user/AppData/Roaming/.mc",
        os: "windows",
        version: {
            number: "1.13.2",
            type: "MCC-Launcher" 
        },
        memory: {
            max: "500"
        }
    });
});
Using Validate and Refresh
let auth = require("pathToUserAuthJson.json");

const validateCheck = await launcher.authenticator.validate(auth.access_token);
if(!validateCheck) {
    auth = await launcher.authenticator.refreshAuth(auth.access_token, auth.client_token, auth.selected_profile);
}
launcher.core({
    authorization: auth,
    clientPackage: null,
    root: "directory",
    os: "windows",
    version: {
        number: "1.13.2",
        type: "MCC-Launcher"
    },
    memory: {
        max: "500"
    }
});

What should it look like running from console?

gif