1.13 Update Phase 1

Mojang has changed its manifest format for 1.13.
Forge is no longer a universal jar, it requires more hosted files, all of which are generated by the installer.
We can no longer extract the version manifest from forge's jar and have to include it in the distribution.
This commit adds support for launching forge only, mods are currently not supported from the distribution.
Handling of 1.13 launches are subject to change as we move forward.
This commit is contained in:
Daniel Scalzi
2019-02-18 06:31:01 -05:00
parent e8e7f85c64
commit 81367bc619
6 changed files with 614 additions and 103 deletions

View File

@@ -621,18 +621,25 @@ function dlAsync(login = true){
}
} else if(m.context === 'validateEverything'){
let allGood = true
// If these properties are not defined it's likely an error.
if(m.result.forgeData == null || m.result.versionData == null){
loggerLaunchSuite.error('Error during validation:', m.result)
loggerLaunchSuite.error('Error during launch', m.result.error)
showLaunchFailure('Error During Launch', 'Please check the console (CTRL + Shift + i) for more details.')
allGood = false
}
forgeData = m.result.forgeData
versionData = m.result.versionData
if(login) {
if(login && allGood) {
const authUser = ConfigManager.getSelectedAccount()
loggerLaunchSuite.log(`Sending selected account (${authUser.displayName}) to ProcessBuilder.`)
let pb = new ProcessBuilder(serv, versionData, forgeData, authUser)
let pb = new ProcessBuilder(serv, versionData, forgeData, authUser, remote.app.getVersion())
setLaunchDetails('Launching game..')
// Attach a temporary listener to the client output.