2022-03-03 02:01:23 +00:00
|
|
|
#pragma once
|
|
|
|
|
2022-03-07 19:46:08 +00:00
|
|
|
#include "modplatform/helpers/NetworkModAPI.h"
|
2022-03-07 19:22:57 +00:00
|
|
|
|
2022-03-07 19:46:08 +00:00
|
|
|
class FlameAPI : public NetworkModAPI {
|
2022-03-07 19:22:57 +00:00
|
|
|
private:
|
2022-03-08 14:12:35 +00:00
|
|
|
inline auto getModSearchURL(SearchArgs& args) const -> QString override
|
2022-03-07 19:22:57 +00:00
|
|
|
{
|
2022-04-03 00:08:37 +01:00
|
|
|
auto gameVersionStr = args.versions.size() != 0 ? QString("gameVersion=%1").arg(args.versions.front().toString()) : QString();
|
|
|
|
|
2022-03-07 19:22:57 +00:00
|
|
|
return QString(
|
|
|
|
"https://addons-ecs.forgesvc.net/api/v2/addon/search?"
|
|
|
|
"gameId=432&"
|
|
|
|
"categoryId=0&"
|
|
|
|
"sectionId=6&"
|
|
|
|
|
|
|
|
"index=%1&"
|
|
|
|
"pageSize=25&"
|
|
|
|
"searchFilter=%2&"
|
|
|
|
"sort=%3&"
|
|
|
|
"modLoaderType=%4&"
|
2022-04-03 00:08:37 +01:00
|
|
|
"%5")
|
2022-03-07 19:22:57 +00:00
|
|
|
.arg(args.offset)
|
|
|
|
.arg(args.search)
|
|
|
|
.arg(args.sorting)
|
2022-04-15 11:38:27 +01:00
|
|
|
.arg(getMappedModLoader(args.mod_loader))
|
2022-04-03 00:08:37 +01:00
|
|
|
.arg(gameVersionStr);
|
2022-03-03 02:01:23 +00:00
|
|
|
};
|
|
|
|
|
2022-03-24 21:39:53 +00:00
|
|
|
inline auto getVersionsURL(VersionSearchArgs& args) const -> QString override
|
2022-03-03 02:01:23 +00:00
|
|
|
{
|
2022-03-24 21:39:53 +00:00
|
|
|
return QString("https://addons-ecs.forgesvc.net/api/v2/addon/%1/files").arg(args.addonId);
|
2022-03-03 02:01:23 +00:00
|
|
|
};
|
2022-04-15 11:38:27 +01:00
|
|
|
|
|
|
|
public:
|
|
|
|
static auto getMappedModLoader(const ModLoaderType type) -> const ModLoaderType
|
|
|
|
{
|
|
|
|
// TODO: remove this once Quilt drops official Fabric support
|
|
|
|
if (type == Quilt) // NOTE: Most if not all Fabric mods should work *currently*
|
|
|
|
return Fabric;
|
|
|
|
return type;
|
|
|
|
}
|
2022-03-03 02:01:23 +00:00
|
|
|
};
|