diff options
author | Sefa Eyeoglu <contact@scrumplex.net> | 2022-07-10 19:38:30 +0200 |
---|---|---|
committer | Sefa Eyeoglu <contact@scrumplex.net> | 2022-07-10 19:38:30 +0200 |
commit | b3b76d5d56f9b6849464a6df2031058c98359fbc (patch) | |
tree | 211464fb189ef1202093f206d93f3b9f139fd284 /launcher/modplatform/technic | |
parent | 3bc02b9662b84c2ab86b5de1b08b4537177fde90 (diff) | |
parent | cd948dceaed4625e7a876f680d3dc028e6cfe6de (diff) | |
download | PrismLauncher-b3b76d5d56f9b6849464a6df2031058c98359fbc.tar.gz PrismLauncher-b3b76d5d56f9b6849464a6df2031058c98359fbc.tar.bz2 PrismLauncher-b3b76d5d56f9b6849464a6df2031058c98359fbc.zip |
Merge branch 'develop' into feature/sparkle-mac
# Conflicts:
# .github/workflows/build.yml
Diffstat (limited to 'launcher/modplatform/technic')
-rw-r--r-- | launcher/modplatform/technic/SolderPackManifest.cpp | 2 | ||||
-rw-r--r-- | launcher/modplatform/technic/TechnicPackProcessor.cpp | 21 |
2 files changed, 16 insertions, 7 deletions
diff --git a/launcher/modplatform/technic/SolderPackManifest.cpp b/launcher/modplatform/technic/SolderPackManifest.cpp index 16fe0b0e..e52a7ec0 100644 --- a/launcher/modplatform/technic/SolderPackManifest.cpp +++ b/launcher/modplatform/technic/SolderPackManifest.cpp @@ -37,7 +37,7 @@ void loadPack(Pack& v, QJsonObject& obj) static void loadPackBuildMod(PackBuildMod& b, QJsonObject& obj) { b.name = Json::requireString(obj, "name"); - b.version = Json::requireString(obj, "version"); + b.version = Json::ensureString(obj, "version", ""); b.md5 = Json::requireString(obj, "md5"); b.url = Json::requireString(obj, "url"); } diff --git a/launcher/modplatform/technic/TechnicPackProcessor.cpp b/launcher/modplatform/technic/TechnicPackProcessor.cpp index 782fb9b2..95feb4b2 100644 --- a/launcher/modplatform/technic/TechnicPackProcessor.cpp +++ b/launcher/modplatform/technic/TechnicPackProcessor.cpp @@ -185,13 +185,22 @@ void Technic::TechnicPackProcessor::run(SettingsObjectPtr globalSettings, const components->setComponentVersion("net.minecraftforge", libraryName.section('-', 1, 1)); } } - else if (libraryName.startsWith("net.minecraftforge:minecraftforge:")) + else { - components->setComponentVersion("net.minecraftforge", libraryName.section(':', 2)); - } - else if (libraryName.startsWith("net.fabricmc:fabric-loader:")) - { - components->setComponentVersion("net.fabricmc.fabric-loader", libraryName.section(':', 2)); + // <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)) + { + components->setComponentVersion(loaderMap.value(loader), libraryName.section(':', 2)); + break; + } + } } } } |