diff --git a/launcher/minecraft/MinecraftInstance.cpp b/launcher/minecraft/MinecraftInstance.cpp index cd02ec4dc..5f86c1ce3 100644 --- a/launcher/minecraft/MinecraftInstance.cpp +++ b/launcher/minecraft/MinecraftInstance.cpp @@ -69,8 +69,8 @@ #include "minecraft/launch/VerifyJavaInstall.h" #include "minecraft/update/AssetUpdateTask.h" -#include "minecraft/update/LegacyFMLLibrariesTask.h" #include "minecraft/update/FoldersTask.h" +#include "minecraft/update/LegacyFMLLibrariesTask.h" #include "minecraft/update/LibrariesTask.h" #include "java/JavaUtils.h" @@ -744,21 +744,21 @@ QProcessEnvironment MinecraftInstance::createLaunchEnvironment() QStringList MinecraftInstance::processMinecraftArgs(AuthSessionPtr session, MinecraftTarget::Ptr targetToJoin) const { auto profile = m_components->getProfile(); - QString args_pattern = profile->getMinecraftArguments(); + auto args = profile->getMinecraftArguments().split(' ', Qt::SkipEmptyParts); for (auto tweaker : profile->getTweakers()) { - args_pattern += " --tweakClass " + tweaker; + args << "--tweakClass" << tweaker; } if (targetToJoin) { if (!targetToJoin->address.isEmpty()) { if (profile->hasTrait("feature:is_quick_play_multiplayer")) { - args_pattern += " --quickPlayMultiplayer " + targetToJoin->address + ':' + QString::number(targetToJoin->port); + args << "--quickPlayMultiplayer" << targetToJoin->address + ':' + QString::number(targetToJoin->port); } else { - args_pattern += " --server " + targetToJoin->address; - args_pattern += " --port " + QString::number(targetToJoin->port); + args << "--server" << targetToJoin->address; + args << "--port" << QString::number(targetToJoin->port); } } else if (!targetToJoin->world.isEmpty() && profile->hasTrait("feature:is_quick_play_singleplayer")) { - args_pattern += " --quickPlaySingleplayer " + targetToJoin->world; + args << "--quickPlaySingleplayer" << targetToJoin->world; } } @@ -775,15 +775,14 @@ QStringList MinecraftInstance::processMinecraftArgs(AuthSessionPtr session, Mine tokenMapping["user_type"] = session->user_type; if (session->demo) { - args_pattern += " --demo"; + args << "--demo"; } } - QStringList parts = args_pattern.split(' ', Qt::SkipEmptyParts); - for (int i = 0; i < parts.length(); i++) { - parts[i] = replaceTokensIn(parts[i], tokenMapping); + for (int i = 0; i < args.length(); i++) { + args[i] = replaceTokensIn(args[i], tokenMapping); } - return parts; + return args; } QString MinecraftInstance::createLaunchScript(AuthSessionPtr session, MinecraftTarget::Ptr targetToJoin)