aboutsummaryrefslogtreecommitdiff
path: root/launcher/modplatform/modrinth/ModrinthPackExportTask.cpp
diff options
context:
space:
mode:
authorTheKodeToad <TheKodeToad@proton.me>2023-03-03 11:24:10 +0000
committerTheKodeToad <TheKodeToad@proton.me>2023-03-03 11:25:11 +0000
commitdcaa907fede11c8f0aeddde8a78e8d9397eaee2f (patch)
treea92cb0f65395b10d8f41d7e729768955019483a9 /launcher/modplatform/modrinth/ModrinthPackExportTask.cpp
parentadcdf28d64abbe16304c2d377488af1898f9b2af (diff)
downloadPrismLauncher-dcaa907fede11c8f0aeddde8a78e8d9397eaee2f.tar.gz
PrismLauncher-dcaa907fede11c8f0aeddde8a78e8d9397eaee2f.tar.bz2
PrismLauncher-dcaa907fede11c8f0aeddde8a78e8d9397eaee2f.zip
Mod loader support
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
Diffstat (limited to 'launcher/modplatform/modrinth/ModrinthPackExportTask.cpp')
-rw-r--r--launcher/modplatform/modrinth/ModrinthPackExportTask.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/launcher/modplatform/modrinth/ModrinthPackExportTask.cpp b/launcher/modplatform/modrinth/ModrinthPackExportTask.cpp
index 331fbf94..1bb78cae 100644
--- a/launcher/modplatform/modrinth/ModrinthPackExportTask.cpp
+++ b/launcher/modplatform/modrinth/ModrinthPackExportTask.cpp
@@ -102,10 +102,22 @@ QByteArray ModrinthPackExportTask::generateIndex()
MinecraftInstance* mc = dynamic_cast<MinecraftInstance*>(instance.get());
if (mc) {
auto profile = mc->getPackProfile();
+ // collect all supported components
auto minecraft = profile->getComponent("net.minecraft");
+ auto quilt = profile->getComponent("org.quiltmc.quilt-loader");
+ auto fabric = profile->getComponent("net.fabricmc.fabric-loader");
+ auto forge = profile->getComponent("net.minecraftforge");
+ // convert all available components to mrpack dependencies
QJsonObject dependencies;
- dependencies["minecraft"] = minecraft->m_version;
+ if (minecraft != nullptr)
+ dependencies["minecraft"] = minecraft->m_version;
+ if (quilt != nullptr)
+ dependencies["quilt-loader"] = quilt->m_version;
+ if (fabric != nullptr)
+ dependencies["fabric-loader"] = fabric->m_version;
+ if (forge != nullptr)
+ dependencies["forge"] = forge->m_version;
obj["dependencies"] = dependencies;
}