fix: check for Quilt as Fabric-compatible loader

This commit is contained in:
Sefa Eyeoglu
2022-02-20 20:55:26 +01:00
parent 74cdf5350d
commit 35cfb41a9c
11 changed files with 54 additions and 18 deletions

View File

@ -970,3 +970,20 @@ void PackProfile::disableInteraction(bool disable)
}
}
}
ModAPI::ModLoaderType PackProfile::getModLoader()
{
if (!getComponentVersion("net.minecraftforge").isEmpty())
{
return ModAPI::Forge;
}
else if (!getComponentVersion("net.fabricmc.fabric-loader").isEmpty())
{
return ModAPI::Fabric;
}
else if (!getComponentVersion("org.quiltmc.quilt-loader").isEmpty())
{
return ModAPI::Quilt;
}
return ModAPI::Any;
}

View File

@ -28,6 +28,7 @@
#include "BaseVersion.h"
#include "MojangDownloadInfo.h"
#include "net/Mode.h"
#include "modplatform/ModAPI.h"
class MinecraftInstance;
struct PackProfileData;
@ -117,6 +118,8 @@ public:
// todo(merged): is this the best approach
void appendComponent(ComponentPtr component);
ModAPI::ModLoaderType getModLoader();
private:
void scheduleSave();
bool saveIsScheduled() const;

View File

@ -391,7 +391,7 @@ void LocalModParseTask::processAsZip()
zip.close();
return;
}
else if (zip.setCurrentFile("fabric.mod.json"))
else if (zip.setCurrentFile("fabric.mod.json")) // TODO: Support quilt.mod.json
{
if (!file.open(QIODevice::ReadOnly))
{