diff options
author | Sefa Eyeoglu <contact@scrumplex.net> | 2022-03-29 11:24:12 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-29 11:24:12 +0200 |
commit | 5f2e7683764461dd70e5a3593a6bab1cc3e6146d (patch) | |
tree | 2d16bd4de9b99e22270d7f1614b525c44afe1833 /launcher/modplatform/modrinth/ModrinthAPI.h | |
parent | 575c92ec479e555fe7cb5ead98794b78c260f820 (diff) | |
parent | d00c320c0041421e67d5d8ec6deb4427d0f8020c (diff) | |
download | PrismLauncher-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.h | 20 |
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) { |