diff options
author | Sefa Eyeoglu <contact@scrumplex.net> | 2022-11-19 18:45:15 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-19 18:45:15 +0100 |
commit | 30607c34a153fd32085712e18827983772d77f7b (patch) | |
tree | 64d51d8ad8dfb6aa6042d8296e95f44ac5864d46 /launcher | |
parent | 817947c9284fecbe4dd5c0cd82186e5b8a4637e3 (diff) | |
parent | 70fa92f22ca8d013e7e101645d4ef60a21a52223 (diff) | |
download | PrismLauncher-30607c34a153fd32085712e18827983772d77f7b.tar.gz PrismLauncher-30607c34a153fd32085712e18827983772d77f7b.tar.bz2 PrismLauncher-30607c34a153fd32085712e18827983772d77f7b.zip |
Merge pull request #291 from TheKodeToad/betterjavalauncher
Diffstat (limited to 'launcher')
-rw-r--r-- | launcher/minecraft/MinecraftInstance.cpp | 35 | ||||
-rw-r--r-- | launcher/minecraft/MinecraftInstance.h | 4 |
2 files changed, 21 insertions, 18 deletions
diff --git a/launcher/minecraft/MinecraftInstance.cpp b/launcher/minecraft/MinecraftInstance.cpp index de22b365..70d0b949 100644 --- a/launcher/minecraft/MinecraftInstance.cpp +++ b/launcher/minecraft/MinecraftInstance.cpp @@ -1,8 +1,9 @@ // SPDX-License-Identifier: GPL-3.0-only /* - * PolyMC - Minecraft Launcher + * Prism Launcher - Minecraft Launcher * Copyright (C) 2022 Sefa Eyeoglu <contact@scrumplex.net> * Copyright (C) 2022 Jamie Mansfield <jmansfield@cadixdev.org> + * Copyright (C) 2022 TheKodeToad <TheKodeToad@proton.me> * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -436,6 +437,17 @@ QStringList MinecraftInstance::javaArguments() return args; } +QString MinecraftInstance::getLauncher() +{ + auto profile = m_components->getProfile(); + + // use legacy launcher if the traits are set + if (profile->getTraits().contains("legacyLaunch") || profile->getTraits().contains("alphaLaunch")) + return "legacy"; + + return "standard"; +} + QMap<QString, QString> MinecraftInstance::getVariables() { QMap<QString, QString> out; @@ -627,26 +639,13 @@ QString MinecraftInstance::createLaunchScript(AuthSessionPtr session, MinecraftS launchScript += "sessionId " + session->session + "\n"; } - // libraries and class path. - { - QStringList jars, nativeJars; - profile->getLibraryFiles(runtimeContext(), jars, nativeJars, getLocalLibraryPath(), binRoot()); - for(auto file: jars) - { - launchScript += "cp " + file + "\n"; - } - for(auto file: nativeJars) - { - launchScript += "ext " + file + "\n"; - } - launchScript += "natives " + getNativePath() + "\n"; - } - for (auto trait : profile->getTraits()) { launchScript += "traits " + trait + "\n"; } - launchScript += "launcher onesix\n"; + + launchScript += "launcher " + getLauncher() + "\n"; + // qDebug() << "Generated launch script:" << launchScript; return launchScript; } @@ -782,6 +781,8 @@ QStringList MinecraftInstance::verboseDescription(AuthSessionPtr session, Minecr out << "Window size: " + QString::number(width) + " x " + QString::number(height); } out << ""; + out << "Launcher: " + getLauncher(); + out << ""; return out; } diff --git a/launcher/minecraft/MinecraftInstance.h b/launcher/minecraft/MinecraftInstance.h index 1895d187..1bbd7b83 100644 --- a/launcher/minecraft/MinecraftInstance.h +++ b/launcher/minecraft/MinecraftInstance.h @@ -1,7 +1,8 @@ // SPDX-License-Identifier: GPL-3.0-only /* - * PolyMC - Minecraft Launcher + * Prism Launcher - Minecraft Launcher * Copyright (C) 2022 Sefa Eyeoglu <contact@scrumplex.net> + * Copyright (C) 2022 TheKodeToad <TheKodeToad@proton.me> * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -130,6 +131,7 @@ public: QString createLaunchScript(AuthSessionPtr session, MinecraftServerTargetPtr serverToJoin); /// get arguments passed to java QStringList javaArguments(); + QString getLauncher(); /// get variables for launch command variable substitution/environment QMap<QString, QString> getVariables() override; |