Merge pull request #329 from flowln/only_safe_workarounds
This commit is contained in:
parent
a39390b8b4
commit
7f6515dbe4
@ -3,6 +3,8 @@
|
|||||||
#include "Json.h"
|
#include "Json.h"
|
||||||
#include "net/Upload.h"
|
#include "net/Upload.h"
|
||||||
|
|
||||||
|
#include "modplatform/modrinth/ModrinthPackIndex.h"
|
||||||
|
|
||||||
Flame::FileResolvingTask::FileResolvingTask(const shared_qobject_ptr<QNetworkAccessManager>& network, Flame::Manifest& toProcess)
|
Flame::FileResolvingTask::FileResolvingTask(const shared_qobject_ptr<QNetworkAccessManager>& network, Flame::Manifest& toProcess)
|
||||||
: m_network(network), m_toProcess(toProcess)
|
: m_network(network), m_toProcess(toProcess)
|
||||||
{}
|
{}
|
||||||
@ -84,18 +86,21 @@ void Flame::FileResolvingTask::modrinthCheckFinished() {
|
|||||||
delete bytes;
|
delete bytes;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
QJsonDocument doc = QJsonDocument::fromJson(*bytes);
|
QJsonDocument doc = QJsonDocument::fromJson(*bytes);
|
||||||
auto obj = doc.object();
|
auto obj = doc.object();
|
||||||
auto array = Json::requireArray(obj,"files");
|
auto file = Modrinth::loadIndexedPackVersion(obj);
|
||||||
for (auto file: array) {
|
|
||||||
auto fileObj = Json::requireObject(file);
|
// If there's more than one mod loader for this version, we can't know for sure
|
||||||
auto primary = Json::requireBoolean(fileObj,"primary");
|
// which file is relative to each loader, so it's best to not use any one and
|
||||||
if (primary) {
|
// let the user download it manually.
|
||||||
out->url = Json::requireUrl(fileObj,"url");
|
if (file.loaders.size() <= 1) {
|
||||||
qDebug() << "Found alternative on modrinth " << out->fileName;
|
out->url = file.downloadUrl;
|
||||||
break;
|
qDebug() << "Found alternative on modrinth " << out->fileName;
|
||||||
}
|
} else {
|
||||||
|
out->resolved = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
delete bytes;
|
delete bytes;
|
||||||
}
|
}
|
||||||
//copy to an output list and filter out projects found on modrinth
|
//copy to an output list and filter out projects found on modrinth
|
||||||
|
Loading…
Reference in New Issue
Block a user