fix tweakers (#4913)

This commit is contained in:
Alexandru Ionut Tripon 2026-02-21 22:16:26 +00:00 committed by GitHub
commit 574b75fac0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -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->launchMode == LaunchMode::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)