aboutsummaryrefslogtreecommitdiff
path: root/launcher/modplatform/modrinth/ModrinthAPI.h
diff options
context:
space:
mode:
authorSefa Eyeoglu <contact@scrumplex.net>2022-03-29 11:24:12 +0200
committerGitHub <noreply@github.com>2022-03-29 11:24:12 +0200
commit5f2e7683764461dd70e5a3593a6bab1cc3e6146d (patch)
tree2d16bd4de9b99e22270d7f1614b525c44afe1833 /launcher/modplatform/modrinth/ModrinthAPI.h
parent575c92ec479e555fe7cb5ead98794b78c260f820 (diff)
parentd00c320c0041421e67d5d8ec6deb4427d0f8020c (diff)
downloadPrismLauncher-5f2e7683764461dd70e5a3593a6bab1cc3e6146d.tar.gz
PrismLauncher-5f2e7683764461dd70e5a3593a6bab1cc3e6146d.tar.bz2
PrismLauncher-5f2e7683764461dd70e5a3593a6bab1cc3e6146d.zip
Merge pull request #356 from flowln/version_optimize
Improve mod versions request to Modrinth
Diffstat (limited to 'launcher/modplatform/modrinth/ModrinthAPI.h')
-rw-r--r--launcher/modplatform/modrinth/ModrinthAPI.h20
1 files changed, 18 insertions, 2 deletions
diff --git a/launcher/modplatform/modrinth/ModrinthAPI.h b/launcher/modplatform/modrinth/ModrinthAPI.h
index cf4dec1a..30952e99 100644
--- a/launcher/modplatform/modrinth/ModrinthAPI.h
+++ b/launcher/modplatform/modrinth/ModrinthAPI.h
@@ -30,11 +30,27 @@ class ModrinthAPI : public NetworkModAPI {
.arg(args.version);
};
- inline auto getVersionsURL(const QString& addonId) const -> QString override
+ inline auto getVersionsURL(VersionSearchArgs& args) const -> QString override
{
- return QString("https://api.modrinth.com/v2/project/%1/version").arg(addonId);
+ return QString("https://api.modrinth.com/v2/project/%1/version?"
+ "game_versions=[%2]"
+ "loaders=[%3]")
+ .arg(args.addonId)
+ .arg(getGameVersionsString(args.mcVersions))
+ .arg(getModLoaderString(args.loader));
};
+ inline auto getGameVersionsString(QList<QString> mcVersions) const -> QString
+ {
+ QString s;
+ for(int i = 0; i < mcVersions.count(); i++){
+ s += mcVersions.at(i);
+ if(i < mcVersions.count() - 1)
+ s += ",";
+ }
+ return s;
+ }
+
inline auto getModLoaderString(ModLoaderType modLoader) const -> QString
{
switch (modLoader) {