aboutsummaryrefslogtreecommitdiff
path: root/api
diff options
context:
space:
mode:
authorJamie Mansfield <jmansfield@cadixdev.org>2021-04-14 18:20:50 +0100
committerJamie Mansfield <jmansfield@cadixdev.org>2021-04-16 01:51:25 +0100
commit438ddfb88dc4fede0c197107a1464990d7ec5a8d (patch)
tree48742e0b3cbfa1a3d1cfea1ba5d2e8407f5ad786 /api
parent73788f5d2fd46c0e1b24216962f93c777e1253ae (diff)
downloadPrismLauncher-438ddfb88dc4fede0c197107a1464990d7ec5a8d.tar.gz
PrismLauncher-438ddfb88dc4fede0c197107a1464990d7ec5a8d.tar.bz2
PrismLauncher-438ddfb88dc4fede0c197107a1464990d7ec5a8d.zip
NOISSUE Support Fabric modpacks on ATLauncher
Annoyingly the metadata structure is loader dependent :(
Diffstat (limited to 'api')
-rw-r--r--api/logic/modplatform/atlauncher/ATLPackManifest.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/api/logic/modplatform/atlauncher/ATLPackManifest.cpp b/api/logic/modplatform/atlauncher/ATLPackManifest.cpp
index 50682391..df42c5bb 100644
--- a/api/logic/modplatform/atlauncher/ATLPackManifest.cpp
+++ b/api/logic/modplatform/atlauncher/ATLPackManifest.cpp
@@ -84,12 +84,18 @@ static void loadVersionLoader(ATLauncher::VersionLoader & p, QJsonObject & obj)
p.choose = Json::ensureBoolean(obj, QString("choose"), false);
auto metadata = Json::requireObject(obj, "metadata");
-
- if (metadata.contains("version")) {
- p.version = Json::requireString(metadata, "version");
- }
p.latest = Json::ensureBoolean(metadata, QString("latest"), false);
p.recommended = Json::ensureBoolean(metadata, QString("recommended"), false);
+
+ // Minecraft Forge
+ if (p.type == "forge") {
+ p.version = Json::ensureString(metadata, "version", "");
+ }
+
+ // Fabric Loader
+ if (p.type == "fabric") {
+ p.version = Json::ensureString(metadata, "loader", "");
+ }
}
static void loadVersionLibrary(ATLauncher::VersionLibrary & p, QJsonObject & obj) {