- ForgeWrapper update fixes 1.12.2 forge installer errors.
- 1.18 compatibility.
This commit is contained in:
Pierce 2021-11-29 12:27:40 -08:00
parent da0b61a07d
commit dfd8c185d4
4 changed files with 39 additions and 19 deletions

View file

@ -2,7 +2,7 @@
##### This project is complete for now.
[![Build Status](https://travis-ci.com/Pierce01/MinecraftLauncher-core.svg?branch=master)](https://travis-ci.com/Pierce01/MinecraftLauncher-core)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
![version](https://img.shields.io/badge/stable_version-3.16.8-blue)
![version](https://img.shields.io/badge/stable_version-3.16.9-blue)
![badge](https://img.shields.io/badge/ncurses-not_supported-purple)
MCLC (Minecraft Launcher Core) is a NodeJS solution for launching modded and vanilla Minecraft without having to download and format everything yourself.
@ -90,14 +90,14 @@ launcher.on('data', (e) => console.log(e));
let opts = {
otherOps...,
overrides: {
gameDirectory: "", // where the game process generates folders like saves and resource packs.
minecraftJar: "",
versionJson: "",
directory: "", // where the Minecraft jar and version json are located.
natives: "", // native directory path.
assetRoot: "",
libraryRoot: "",
cwd: "", // working directory of the java process.
gameDirectory: '', // where the game process generates folders like saves and resource packs.
minecraftJar: '',
versionJson: '',
directory: '', // where the Minecraft jar and version json are located.
natives: '', // native directory path.
assetRoot: '',
libraryRoot: '',
cwd: '', // working directory of the java process.
detached: true, // whether or not the client is detached from the parent / launcher.
classes: [], // all class paths are required if you use this.
minArgs: 11, // The amount of launch arguments specified in the version file before it adds the default again
@ -105,12 +105,12 @@ let opts = {
// The following is for launcher developers located in countries that have the Minecraft and Forge resource servers
// blocked for what ever reason. They obviously need to mirror the formatting of the original JSONs / file structures.
url: {
meta: "https://launchermeta.mojang.com", // List of versions.
resource: "https://resources.download.minecraft.net", // Minecraft resources.
mavenForge: "http://files.minecraftforge.net/maven/", // Forge resources.
defaultRepoForge: "https://libraries.minecraft.net/", // for Forge only, you need to redefine the library url
meta: 'https://launchermeta.mojang.com', // List of versions.
resource: 'https://resources.download.minecraft.net', // Minecraft resources.
mavenForge: 'http://files.minecraftforge.net/maven/', // Forge resources.
defaultRepoForge: 'https://libraries.minecraft.net/', // for Forge only, you need to redefine the library url
// in the version json.
fallbackMaven: "https://search.maven.org/remotecontent?filepath="
fallbackMaven: 'https://search.maven.org/remotecontent?filepath='
},
// The following is options for which version of ForgeWrapper MCLC uses. This allows us to launch modern Forge.
fw: {
@ -128,6 +128,24 @@ let opts = {
If you are loading up a client outside of vanilla Minecraft or Forge (Optifine and for an example), you'll need to download the needed files yourself if you don't provide downloads url downloads like Forge and Fabric. If no version jar is specified, MCLC will default back to the normal MC jar so mods like Fabric work.
##### Installer
This runs an executable with specified launch arguments. Was used to support Forge 1.13 before ForgeWrapper.
##### Authentication
MCLC's authenticator module does not support Microsoft authentication. You will need to use a library like [MSMC](https://github.com/Hanro50/MSMC). If you weant to create your own solution, the following is the authorization JSON object format.
```js
{
access_token: '',
client_token: '',
uuid: '',
name: '',
user_properties: '{}',
meta: {
type: 'mojang' || 'msa',
demo: true || false
// properties only exists for specific Minecraft versions.
xuid: '',
clientId: ''
}
}
```
#### Authenticator Functions

View file

@ -562,6 +562,7 @@ class Handler {
'${auth_session}': this.options.authorization.access_token,
'${auth_player_name}': this.options.authorization.name,
'${auth_uuid}': this.options.authorization.uuid,
'${auth_xuid}': this.options.authorization.meta.xuid || this.options.authorization.access_token,
'${user_properties}': this.options.authorization.user_properties,
'${user_type}': this.options.authorization.meta.type,
'${version_name}': this.options.version.number,
@ -569,7 +570,8 @@ class Handler {
'${game_directory}': this.options.overrides.gameDirectory || this.options.root,
'${assets_root}': assetPath,
'${game_assets}': assetPath,
'${version_type}': this.options.version.type
'${version_type}': this.options.version.type,
'${clientid}': this.options.authorization.meta.clientId || (this.options.authorization.client_token || this.options.authorization.access_token)
}
if (this.options.authorization.meta.demo) {

View file

@ -23,9 +23,9 @@ class MCLCore extends EventEmitter {
},
fw: {
baseUrl: 'https://github.com/ZekerZhayard/ForgeWrapper/releases/download/',
version: '1.5.2',
sh1: '6930ac286c079a9df5b766974020ef7ad1fc5d3b',
size: 34217,
version: '1.5.3',
sh1: '2b0e06937349a209dbb90dca6381258daa456ad7',
size: 30486,
...this.options.overrides
? this.options.overrides.fw
: undefined

View file

@ -1,6 +1,6 @@
{
"name": "minecraft-launcher-core",
"version": "3.16.8",
"version": "3.16.9",
"description": "Lightweight module that downloads and runs Minecraft using javascript / NodeJS",
"main": "index.js",
"dependencies": {