aboutsummaryrefslogtreecommitdiff
path: root/launcher/modplatform/technic/TechnicPackProcessor.cpp
diff options
context:
space:
mode:
authorSefa Eyeoglu <contact@scrumplex.net>2023-08-14 18:16:53 +0200
committerSefa Eyeoglu <contact@scrumplex.net>2023-08-14 18:16:53 +0200
commit91ba4cf75ee30c64779edb5b7644e5a830de5026 (patch)
treeaa8c2433bfc3a54577aceeb706c4c2cd0986c95d /launcher/modplatform/technic/TechnicPackProcessor.cpp
parent779f70057b021e285afd60cc650a14cd5feacffd (diff)
downloadPrismLauncher-91ba4cf75ee30c64779edb5b7644e5a830de5026.tar.gz
PrismLauncher-91ba4cf75ee30c64779edb5b7644e5a830de5026.tar.bz2
PrismLauncher-91ba4cf75ee30c64779edb5b7644e5a830de5026.zip
chore: reformat
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
Diffstat (limited to 'launcher/modplatform/technic/TechnicPackProcessor.cpp')
-rw-r--r--launcher/modplatform/technic/TechnicPackProcessor.cpp92
1 files changed, 30 insertions, 62 deletions
diff --git a/launcher/modplatform/technic/TechnicPackProcessor.cpp b/launcher/modplatform/technic/TechnicPackProcessor.cpp
index e473c170..3b9424bf 100644
--- a/launcher/modplatform/technic/TechnicPackProcessor.cpp
+++ b/launcher/modplatform/technic/TechnicPackProcessor.cpp
@@ -40,8 +40,7 @@ void Technic::TechnicPackProcessor::run(SettingsObjectPtr globalSettings,
instance.setName(instName);
- if (instIcon != "default")
- {
+ if (instIcon != "default") {
instance.setIconKey(instIcon);
}
@@ -53,23 +52,18 @@ void Technic::TechnicPackProcessor::run(SettingsObjectPtr globalSettings,
QString modpackJar = FS::PathCombine(minecraftPath, "bin", "modpack.jar");
QString versionJson = FS::PathCombine(minecraftPath, "bin", "version.json");
QString fmlMinecraftVersion;
- if (QFile::exists(modpackJar))
- {
+ if (QFile::exists(modpackJar)) {
QuaZip zipFile(modpackJar);
- if (!zipFile.open(QuaZip::mdUnzip))
- {
+ if (!zipFile.open(QuaZip::mdUnzip)) {
emit failed(tr("Unable to open \"bin/modpack.jar\" file!"));
return;
}
QuaZipDir zipFileRoot(&zipFile, "/");
- if (zipFileRoot.exists("/version.json"))
- {
- if (zipFileRoot.exists("/fmlversion.properties"))
- {
+ if (zipFileRoot.exists("/version.json")) {
+ if (zipFileRoot.exists("/fmlversion.properties")) {
zipFile.setCurrentFile("fmlversion.properties");
QuaZipFile file(&zipFile);
- if (!file.open(QIODevice::ReadOnly))
- {
+ if (!file.open(QIODevice::ReadOnly)) {
emit failed(tr("Unable to open \"fmlversion.properties\"!"));
return;
}
@@ -82,30 +76,25 @@ void Technic::TechnicPackProcessor::run(SettingsObjectPtr globalSettings,
}
zipFile.setCurrentFile("version.json", QuaZip::csSensitive);
QuaZipFile file(&zipFile);
- if (!file.open(QIODevice::ReadOnly))
- {
+ if (!file.open(QIODevice::ReadOnly)) {
emit failed(tr("Unable to open \"version.json\"!"));
return;
}
data = file.readAll();
file.close();
- }
- else
- {
+ } else {
if (minecraftVersion.isEmpty())
emit failed(tr("Could not find \"version.json\" inside \"bin/modpack.jar\", but Minecraft version is unknown"));
components->setComponentVersion("net.minecraft", minecraftVersion, true);
- components->installJarMods({modpackJar});
+ components->installJarMods({ modpackJar });
// Forge for 1.4.7 and for 1.5.2 require extra libraries.
// Figure out the forge version and add it as a component
// (the code still comes from the jar mod installed above)
- if (zipFileRoot.exists("/forgeversion.properties"))
- {
+ if (zipFileRoot.exists("/forgeversion.properties")) {
zipFile.setCurrentFile("forgeversion.properties", QuaZip::csSensitive);
QuaZipFile file(&zipFile);
- if (!file.open(QIODevice::ReadOnly))
- {
+ if (!file.open(QIODevice::ReadOnly)) {
// Really shouldn't happen, but error handling shall not be forgotten
emit failed(tr("Unable to open \"forgeversion.properties\""));
return;
@@ -120,8 +109,7 @@ void Technic::TechnicPackProcessor::run(SettingsObjectPtr globalSettings,
revision = iniFile["forge.revision.number"].toString();
build = iniFile["forge.build.number"].toString();
- if (major.isEmpty() || minor.isEmpty() || revision.isEmpty() || build.isEmpty())
- {
+ if (major.isEmpty() || minor.isEmpty() || revision.isEmpty() || build.isEmpty()) {
emit failed(tr("Invalid \"forgeversion.properties\"!"));
return;
}
@@ -133,83 +121,63 @@ void Technic::TechnicPackProcessor::run(SettingsObjectPtr globalSettings,
emit succeeded();
return;
}
- }
- else if (QFile::exists(versionJson))
- {
+ } else if (QFile::exists(versionJson)) {
QFile file(versionJson);
- if (!file.open(QIODevice::ReadOnly))
- {
+ if (!file.open(QIODevice::ReadOnly)) {
emit failed(tr("Unable to open \"version.json\"!"));
return;
}
data = file.readAll();
file.close();
- }
- else
- {
+ } else {
// This is the "Vanilla" modpack, excluded by the search code
emit failed(tr("Unable to find a \"version.json\"!"));
return;
}
- try
- {
+ try {
QJsonDocument doc = Json::requireDocument(data);
QJsonObject root = Json::requireObject(doc, "version.json");
QString packMinecraftVersion = Json::ensureString(root, "inheritsFrom", QString(), "");
if (packMinecraftVersion.isEmpty()) {
- if (fmlMinecraftVersion.isEmpty())
- {
+ if (fmlMinecraftVersion.isEmpty()) {
emit failed(tr("Could not understand \"version.json\":\ninheritsFrom is missing"));
return;
}
packMinecraftVersion = fmlMinecraftVersion;
}
components->setComponentVersion("net.minecraft", packMinecraftVersion, true);
- for (auto library: Json::ensureArray(root, "libraries", {}))
- {
- if (!library.isObject())
- {
+ for (auto library : Json::ensureArray(root, "libraries", {})) {
+ if (!library.isObject()) {
continue;
}
auto libraryObject = Json::ensureObject(library, {}, "");
auto libraryName = Json::ensureString(libraryObject, "name", "", "");
- if ((libraryName.startsWith("net.minecraftforge:forge:") || libraryName.startsWith("net.minecraftforge:fmlloader:")) && libraryName.contains('-'))
- {
+ if ((libraryName.startsWith("net.minecraftforge:forge:") || libraryName.startsWith("net.minecraftforge:fmlloader:")) &&
+ libraryName.contains('-')) {
QString libraryVersion = libraryName.section(':', 2);
- if (!libraryVersion.startsWith("1.7.10-"))
- {
+ if (!libraryVersion.startsWith("1.7.10-")) {
components->setComponentVersion("net.minecraftforge", libraryName.section('-', 1));
- }
- else
- {
+ } else {
// 1.7.10 versions sometimes look like 1.7.10-10.13.4.1614-1.7.10, this filters out the 10.13.4.1614 part
components->setComponentVersion("net.minecraftforge", libraryName.section('-', 1, 1));
}
- }
- else
- {
+ } else {
// <Technic library name prefix> -> <our component name>
- static QMap<QString, QString> loaderMap {
- {"net.minecraftforge:minecraftforge:", "net.minecraftforge"},
- {"net.fabricmc:fabric-loader:", "net.fabricmc.fabric-loader"},
- {"org.quiltmc:quilt-loader:", "org.quiltmc.quilt-loader"}
- };
- for (const auto& loader : loaderMap.keys())
- {
- if (libraryName.startsWith(loader))
- {
+ static QMap<QString, QString> loaderMap{ { "net.minecraftforge:minecraftforge:", "net.minecraftforge" },
+ { "net.fabricmc:fabric-loader:", "net.fabricmc.fabric-loader" },
+ { "org.quiltmc:quilt-loader:", "org.quiltmc.quilt-loader" } };
+ for (const auto& loader : loaderMap.keys()) {
+ if (libraryName.startsWith(loader)) {
components->setComponentVersion(loaderMap.value(loader), libraryName.section(':', 2));
break;
}
}
}
}
- }
- catch (const JSONValidationError &e)
- {
+ } catch (const JSONValidationError& e) {
emit failed(tr("Could not understand \"version.json\":\n") + e.cause());
return;
}