diff --git a/launcher/Application.cpp b/launcher/Application.cpp index 5e29f8bf..24ebc656 100644 --- a/launcher/Application.cpp +++ b/launcher/Application.cpp @@ -862,6 +862,7 @@ Application::Application(int &argc, char **argv) : QApplication(argc, argv) m_metacache->addBase("translations", QDir("translations").absolutePath()); m_metacache->addBase("icons", QDir("cache/icons").absolutePath()); m_metacache->addBase("meta", QDir("meta").absolutePath()); + m_metacache->addBase("injectors", QDir("injectors").absolutePath()); m_metacache->Load(); qDebug() << "<> Cache initialized."; } diff --git a/launcher/minecraft/MinecraftInstance.cpp b/launcher/minecraft/MinecraftInstance.cpp index b27f4822..3e4e943d 100644 --- a/launcher/minecraft/MinecraftInstance.cpp +++ b/launcher/minecraft/MinecraftInstance.cpp @@ -29,6 +29,7 @@ #include "minecraft/launch/ScanModFolders.h" #include "minecraft/launch/InjectAuthlib.h" #include "minecraft/launch/VerifyJavaInstall.h" +#include "minecraft/auth/AccountList.h" #include "java/JavaUtils.h" @@ -311,7 +312,9 @@ QStringList MinecraftInstance::javaArguments() const { QStringList args; - args.append(m_injector->javaArg); + if (m_injector) { + args.append(m_injector->javaArg); + } // custom args go first. we want to override them if we have our own here. args.append(extraArguments()); diff --git a/launcher/minecraft/launch/InjectAuthlib.cpp b/launcher/minecraft/launch/InjectAuthlib.cpp index 1bae1f96..515c99f0 100644 --- a/launcher/minecraft/launch/InjectAuthlib.cpp +++ b/launcher/minecraft/launch/InjectAuthlib.cpp @@ -2,7 +2,7 @@ #include #include #include -#include +#include #include InjectAuthlib::InjectAuthlib(LaunchTask *parent, AuthlibInjectorPtr* injector) : LaunchStep(parent) @@ -20,7 +20,7 @@ void InjectAuthlib::executeTask() auto latestVersionInfo = QString("https://authlib-injector.yushi.moe/artifact/latest.json"); auto netJob = new NetJob("Injector versions info download"); - MetaEntryPtr entry = ENV->metacache()->resolveEntry("injectors", "version.json"); + MetaEntryPtr entry = APPLICATION->metacache()->resolveEntry("injectors", "version.json"); if (!m_offlineMode) { entry->setStale(true); @@ -30,7 +30,7 @@ void InjectAuthlib::executeTask() jobPtr.reset(netJob); QObject::connect(netJob, &NetJob::succeeded, this, &InjectAuthlib::onVersionDownloadSucceeded); QObject::connect(netJob, &NetJob::failed, this, &InjectAuthlib::onDownloadFailed); - jobPtr->start(); + jobPtr->start(APPLICATION->network()); } else { @@ -96,7 +96,7 @@ void InjectAuthlib::onVersionDownloadSucceeded() if (!m_offlineMode) { auto netJob = new NetJob("Injector download"); - MetaEntryPtr entry = ENV->metacache()->resolveEntry("injectors", m_versionName); + MetaEntryPtr entry = APPLICATION->metacache()->resolveEntry("injectors", m_versionName); entry->setStale(true); auto task = Net::Download::makeCached(QUrl(downloadUrl), entry); netJob->addNetAction(task); @@ -104,7 +104,7 @@ void InjectAuthlib::onVersionDownloadSucceeded() jobPtr.reset(netJob); QObject::connect(netJob, &NetJob::succeeded, this, &InjectAuthlib::onDownloadSucceeded); QObject::connect(netJob, &NetJob::failed, this, &InjectAuthlib::onDownloadFailed); - jobPtr->start(); + jobPtr->start(APPLICATION->network()); } else { diff --git a/launcher/minecraft/launch/InjectAuthlib.h b/launcher/minecraft/launch/InjectAuthlib.h index 81bb067a..dd2d0857 100644 --- a/launcher/minecraft/launch/InjectAuthlib.h +++ b/launcher/minecraft/launch/InjectAuthlib.h @@ -50,7 +50,7 @@ private slots: void onDownloadFailed(QString reason); private: - shared_qobject_ptr jobPtr; + shared_qobject_ptr jobPtr; bool m_aborted = false; bool m_offlineMode;