From 766de43e33ce1f81d7cee4741b82a6708ddc70c3 Mon Sep 17 00:00:00 2001 From: Octol1ttle Date: Wed, 21 Jan 2026 11:46:31 +0500 Subject: [PATCH 1/3] refactor: use variables for string literals Signed-off-by: Octol1ttle (cherry picked from commit 2842defe7fc336e5cb94959b5f7844479f58e5f5) --- launcher/minecraft/MinecraftInstance.cpp | 39 +++++++++++++----------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/launcher/minecraft/MinecraftInstance.cpp b/launcher/minecraft/MinecraftInstance.cpp index 4411996d5..c71f819dd 100644 --- a/launcher/minecraft/MinecraftInstance.cpp +++ b/launcher/minecraft/MinecraftInstance.cpp @@ -890,9 +890,13 @@ QString MinecraftInstance::createLaunchScript(AuthSessionPtr session, MinecraftT QStringList MinecraftInstance::verboseDescription(AuthSessionPtr session, MinecraftTarget::Ptr targetToJoin) { + constexpr auto indent = " "; + constexpr auto emptyLine = ""; + QStringList out; - out << "Main Class:" << " " + getMainClass() << ""; - out << "Native path:" << " " + getNativePath() << ""; + + out << "Main Class:" << indent + getMainClass() << emptyLine; + out << "Native path:" << indent + getNativePath() << emptyLine; auto profile = m_components->getProfile(); @@ -901,9 +905,9 @@ QStringList MinecraftInstance::verboseDescription(AuthSessionPtr session, Minecr if (alltraits.size()) { out << "Traits:"; for (auto trait : alltraits) { - out << "traits " + trait; + out << indent + trait; } - out << ""; + out << emptyLine; } // native libraries @@ -915,7 +919,7 @@ QStringList MinecraftInstance::verboseDescription(AuthSessionPtr session, Minecr out << "Using system OpenAL."; if (nativeGLFW) out << "Using system GLFW."; - out << ""; + out << emptyLine; } // libraries and class path. @@ -924,14 +928,14 @@ QStringList MinecraftInstance::verboseDescription(AuthSessionPtr session, Minecr QStringList jars, nativeJars; profile->getLibraryFiles(runtimeContext(), jars, nativeJars, getLocalLibraryPath(), binRoot()); for (auto file : jars) { - out << " " + file; + out << indent + file; } - out << ""; + out << emptyLine; out << "Native libraries:"; for (auto file : nativeJars) { - out << " " + file; + out << indent + file; } - out << ""; + out << emptyLine; } // mods and core mods @@ -956,7 +960,7 @@ QStringList MinecraftInstance::verboseDescription(AuthSessionPtr session, Minecr out << u8" [✘] " + mod->fileinfo().completeBaseName() + " (disabled)"; } } - out << ""; + out << emptyLine; } }; @@ -971,19 +975,19 @@ QStringList MinecraftInstance::verboseDescription(AuthSessionPtr session, Minecr auto displayname = jarmod->displayName(runtimeContext()); auto realname = jarmod->filename(runtimeContext()); if (displayname != realname) { - out << " " + displayname + " (" + realname + ")"; + out << indent + displayname + " (" + realname + ")"; } else { - out << " " + realname; + out << indent + realname; } } - out << ""; + out << emptyLine; } // minecraft arguments auto params = processMinecraftArgs(nullptr, targetToJoin); out << "Params:"; - out << " " + params.join(' '); - out << ""; + out << indent + params.join(' '); + out << emptyLine; // window size QString windowParams; @@ -994,9 +998,10 @@ QStringList MinecraftInstance::verboseDescription(AuthSessionPtr session, Minecr auto height = settings->get("MinecraftWinHeight").toInt(); out << "Window size: " + QString::number(width) + " x " + QString::number(height); } - out << ""; + out << emptyLine; + out << "Launcher: " + getLauncher(); - out << ""; + out << emptyLine; return out; } From 0baca3fbea34cacc0c3c9031c717f7fa62b5b694 Mon Sep 17 00:00:00 2001 From: Octol1ttle Date: Wed, 21 Jan 2026 11:46:59 +0500 Subject: [PATCH 2/3] feat: print custom environment variables in log Signed-off-by: Octol1ttle (cherry picked from commit ca5e1e0f1bff25211392b997fa9e53510549e475) --- launcher/minecraft/MinecraftInstance.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/launcher/minecraft/MinecraftInstance.cpp b/launcher/minecraft/MinecraftInstance.cpp index c71f819dd..da49ee31b 100644 --- a/launcher/minecraft/MinecraftInstance.cpp +++ b/launcher/minecraft/MinecraftInstance.cpp @@ -1002,6 +1002,17 @@ QStringList MinecraftInstance::verboseDescription(AuthSessionPtr session, Minecr out << "Launcher: " + getLauncher(); out << emptyLine; + + // environment variables + const QString env = settings->get("OverrideEnv").toBool() ? settings->get("Env").toString() : APPLICATION->settings()->get("Env").toString(); + if (auto envMap = Json::toMap(env); !envMap.isEmpty()) { + out << "Custom environment variables:"; + for (auto [key, value] : envMap.asKeyValueRange()) { + out << indent + key + "=" + value.toString(); + } + out << emptyLine; + } + return out; } From b88c2b109d8534367bfe49c0b149f929343958cb Mon Sep 17 00:00:00 2001 From: Octol1ttle Date: Wed, 21 Jan 2026 16:11:25 +0500 Subject: [PATCH 3/3] fix: don't manually check for instance overrides Signed-off-by: Octol1ttle (cherry picked from commit 06d9079be1a9169b3946786cbb2c67225445f6da) --- launcher/minecraft/MinecraftInstance.cpp | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/launcher/minecraft/MinecraftInstance.cpp b/launcher/minecraft/MinecraftInstance.cpp index da49ee31b..025ada055 100644 --- a/launcher/minecraft/MinecraftInstance.cpp +++ b/launcher/minecraft/MinecraftInstance.cpp @@ -685,12 +685,7 @@ QProcessEnvironment MinecraftInstance::createEnvironment() env.insert(iter.key(), iter.value().toString()); }; - bool overrideEnv = settings()->get("OverrideEnv").toBool(); - - if (!overrideEnv) - insertEnv(APPLICATION->settings()->get("Env").toString()); - else - insertEnv(settings()->get("Env").toString()); + insertEnv(settings()->get("Env").toString()); return env; } @@ -1004,7 +999,7 @@ QStringList MinecraftInstance::verboseDescription(AuthSessionPtr session, Minecr out << emptyLine; // environment variables - const QString env = settings->get("OverrideEnv").toBool() ? settings->get("Env").toString() : APPLICATION->settings()->get("Env").toString(); + const QString env = settings->get("Env").toString(); if (auto envMap = Json::toMap(env); !envMap.isEmpty()) { out << "Custom environment variables:"; for (auto [key, value] : envMap.asKeyValueRange()) {