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
{
static QStringList possibleLoaders{
"net.minecraftforge:minecraftforge:",
"net.fabricmc:fabric-loader:",
"org.quiltmc:quilt-loader:"
// <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 : possibleLoaders)
for (const auto& loader : loaderMap.keys())
{
if (libraryName.startsWith(loader))
{
auto loaderComponent = loader.chopped(1).replace(":", ".");
components->setComponentVersion(loaderComponent, libraryName.section(':', 2));
components->setComponentVersion(loaderMap.value(loader), libraryName.section(':', 2));
break;
}
}