feat: add very early mod.toml packwiz support

Also use it as a on-disk format for storing mod metadata. This will be
used later on to make better mod managment.
This commit is contained in:
flow
2022-04-13 19:16:36 -03:00
committed by flow
parent dca4ea5cea
commit b30b88716e
8 changed files with 202 additions and 0 deletions

View File

@ -8,6 +8,35 @@
namespace ModPlatform {
enum class Provider{
MODRINTH,
FLAME
};
class ProviderCapabilities {
public:
static QString hashType(Provider p)
{
switch(p){
case Provider::MODRINTH:
return "sha256";
case Provider::FLAME:
return "murmur2";
}
return "";
}
static QString providerName(Provider p)
{
switch(p){
case Provider::MODRINTH:
return "modrinth";
case Provider::FLAME:
return "curseforge";
}
return "";
}
};
struct ModpackAuthor {
QString name;
QString url;
@ -26,6 +55,7 @@ struct IndexedVersion {
struct IndexedPack {
QVariant addonId;
Provider provider;
QString name;
QString description;
QList<ModpackAuthor> authors;
@ -40,3 +70,4 @@ struct IndexedPack {
} // namespace ModPlatform
Q_DECLARE_METATYPE(ModPlatform::IndexedPack)
Q_DECLARE_METATYPE(ModPlatform::Provider)