fix(technic): map loader libraries to components properly

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
This commit is contained in:
Sefa Eyeoglu 2022-07-08 17:27:15 +02:00
parent f1902a4471
commit 4ab0e70a9a
No known key found for this signature in database
GPG Key ID: C10411294912A422

View File

@ -187,17 +187,17 @@ void Technic::TechnicPackProcessor::run(SettingsObjectPtr globalSettings, const
} }
else else
{ {
static QStringList possibleLoaders{ // <Technic library name prefix> -> <our component name>
"net.minecraftforge:minecraftforge:", static QMap<QString, QString> loaderMap {
"net.fabricmc:fabric-loader:", {"net.minecraftforge:minecraftforge:", "net.minecraftforge"},
"org.quiltmc:quilt-loader:" {"net.fabricmc:fabric-loader:", "net.fabricmc.fabric-loader"},
{"org.quiltmc:quilt-loader:", "org.quiltmc.quilt-loader"}
}; };
for (const auto& loader : possibleLoaders) for (const auto& loader : loaderMap.keys())
{ {
if (libraryName.startsWith(loader)) if (libraryName.startsWith(loader))
{ {
auto loaderComponent = loader.chopped(1).replace(":", "."); components->setComponentVersion(loaderMap.value(loader), libraryName.section(':', 2));
components->setComponentVersion(loaderComponent, libraryName.section(':', 2));
break; break;
} }
} }