aboutsummaryrefslogtreecommitdiff
path: root/launcher/modplatform
diff options
context:
space:
mode:
Diffstat (limited to 'launcher/modplatform')
-rw-r--r--launcher/modplatform/modrinth/ModrinthPackManifest.cpp14
-rw-r--r--launcher/modplatform/modrinth/ModrinthPackManifest.h4
2 files changed, 13 insertions, 5 deletions
diff --git a/launcher/modplatform/modrinth/ModrinthPackManifest.cpp b/launcher/modplatform/modrinth/ModrinthPackManifest.cpp
index 4b8a9a9b..88ca808a 100644
--- a/launcher/modplatform/modrinth/ModrinthPackManifest.cpp
+++ b/launcher/modplatform/modrinth/ModrinthPackManifest.cpp
@@ -81,15 +81,23 @@ auto loadIndexedVersion(QJsonObject &obj) -> ModpackVersion
auto files = Json::requireArray(obj, "files");
+ qWarning() << files;
+
for (auto file_iter : files) {
File indexed_file;
auto parent = Json::requireObject(file_iter);
- if (!Json::ensureBoolean(parent, "primary", false)) {
- continue;
+ auto is_primary = Json::ensureBoolean(parent, "primary", false);
+ if (!is_primary) {
+ auto filename = Json::ensureString(parent, "filename");
+ // Checking suffix here is fine because it's the response from Modrinth,
+ // so one would assume it will always be in English.
+ if(!filename.endsWith("mrpack") && !filename.endsWith("zip"))
+ continue;
}
file.download_url = Json::requireString(parent, "url");
- break;
+ if(is_primary)
+ break;
}
if(file.download_url.isEmpty())
diff --git a/launcher/modplatform/modrinth/ModrinthPackManifest.h b/launcher/modplatform/modrinth/ModrinthPackManifest.h
index aaaacf2c..585f692a 100644
--- a/launcher/modplatform/modrinth/ModrinthPackManifest.h
+++ b/launcher/modplatform/modrinth/ModrinthPackManifest.h
@@ -79,5 +79,5 @@ auto loadIndexedVersion(QJsonObject&) -> ModpackVersion;
}
-Q_DECLARE_METATYPE(Modrinth::Modpack);
-Q_DECLARE_METATYPE(Modrinth::ModpackVersion);
+Q_DECLARE_METATYPE(Modrinth::Modpack)
+Q_DECLARE_METATYPE(Modrinth::ModpackVersion)