aboutsummaryrefslogtreecommitdiff
path: root/launcher/minecraft/PackProfile.cpp
diff options
context:
space:
mode:
authorSefa Eyeoglu <contact@scrumplex.net>2022-05-19 08:09:18 +0200
committerSefa Eyeoglu <contact@scrumplex.net>2022-05-19 08:09:37 +0200
commit77caaca50dab7ba8e455d641ac6b448052bc6799 (patch)
tree2c19d67203ef6754d31c823886dd688e636d17da /launcher/minecraft/PackProfile.cpp
parentb2878dca1d129dbd76c60881df22c2e65c7ae26c (diff)
downloadPrismLauncher-77caaca50dab7ba8e455d641ac6b448052bc6799.tar.gz
PrismLauncher-77caaca50dab7ba8e455d641ac6b448052bc6799.tar.bz2
PrismLauncher-77caaca50dab7ba8e455d641ac6b448052bc6799.zip
fix: only consider enabled mod loaders
Diffstat (limited to 'launcher/minecraft/PackProfile.cpp')
-rw-r--r--launcher/minecraft/PackProfile.cpp25
1 files changed, 15 insertions, 10 deletions
diff --git a/launcher/minecraft/PackProfile.cpp b/launcher/minecraft/PackProfile.cpp
index d53f41e1..87d11c4c 100644
--- a/launcher/minecraft/PackProfile.cpp
+++ b/launcher/minecraft/PackProfile.cpp
@@ -36,6 +36,13 @@
#include "ComponentUpdateTask.h"
#include "Application.h"
+#include "modplatform/ModAPI.h"
+
+static const QMap<QString, ModAPI::ModLoaderType> modloaderMapping{
+ {"net.minecraftforge", ModAPI::Forge},
+ {"net.fabricmc.fabric-loader", ModAPI::Fabric},
+ {"org.quiltmc.quilt-loader", ModAPI::Quilt}
+};
PackProfile::PackProfile(MinecraftInstance * instance)
: QAbstractListModel()
@@ -973,17 +980,15 @@ void PackProfile::disableInteraction(bool disable)
ModAPI::ModLoaderType PackProfile::getModLoader()
{
- if (!getComponentVersion("net.minecraftforge").isEmpty())
- {
- return ModAPI::Forge;
- }
- else if (!getComponentVersion("net.fabricmc.fabric-loader").isEmpty())
- {
- return ModAPI::Fabric;
- }
- else if (!getComponentVersion("org.quiltmc.quilt-loader").isEmpty())
+ QMapIterator<QString, ModAPI::ModLoaderType> i(modloaderMapping);
+
+ while (i.hasNext())
{
- return ModAPI::Quilt;
+ i.next();
+ Component* c = getComponent(i.key());
+ if (c != nullptr && c->isEnabled()) {
+ return i.value();
+ }
}
return ModAPI::Unspecified;
}