diff options
Diffstat (limited to 'launcher/modplatform/technic/TechnicPackProcessor.cpp')
-rw-r--r-- | launcher/modplatform/technic/TechnicPackProcessor.cpp | 21 |
1 files changed, 15 insertions, 6 deletions
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; + } + } } } } |