mirror of
https://github.com/UltimMC/Launcher.git
synced 2025-10-04 17:09:25 +00:00
NOISSUE make FTBA import more lenient towards missing fields
This commit is contained in:
@@ -160,26 +160,26 @@ bool parseModpackJson(const QByteArray& data, Modpack & out) {
|
|||||||
{
|
{
|
||||||
auto document = Json::requireDocument(data);
|
auto document = Json::requireDocument(data);
|
||||||
auto object = Json::requireObject(document);
|
auto object = Json::requireObject(document);
|
||||||
bool isInstalled = Json::requireBoolean(object, "installComplete");
|
bool isInstalled = Json::ensureBoolean(object, "installComplete", true);
|
||||||
if(!isInstalled) {
|
if(!isInstalled) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
out.id = Json::requireInteger(object, "id");
|
out.id = Json::requireInteger(object, "id");
|
||||||
out.name = Json::requireString(object, "name");
|
out.name = Json::requireString(object, "name");
|
||||||
out.version = Json::requireString(object, "version");
|
out.version = Json::requireString(object, "version");
|
||||||
out.description = Json::requireString(object, "description");
|
out.description = Json::ensureString(object, "description", QObject::tr("Description is missing in the FTB App instance."));
|
||||||
auto authorsArray = Json::requireArray(object, "authors");
|
auto authorsArray = Json::ensureArray(object, "authors", QJsonArray());
|
||||||
for(auto author: authorsArray) {
|
for(auto author: authorsArray) {
|
||||||
out.authors.append(Json::requireString(author));
|
out.authors.append(Json::requireString(author));
|
||||||
}
|
}
|
||||||
|
|
||||||
out.mcVersion = Json::requireString(object, "mcVersion");
|
out.mcVersion = Json::requireString(object, "mcVersion");
|
||||||
out.modLoader = Json::requireString(object, "modLoader");
|
out.modLoader = Json::ensureString(object, "modLoader", QString());
|
||||||
out.hasInstMods = Json::requireBoolean(object, "hasInstMods");
|
out.hasInstMods = Json::ensureBoolean(object, "hasInstMods", false);
|
||||||
|
|
||||||
out.minMemory = Json::requireInteger(object, "minMemory");
|
out.minMemory = Json::ensureInteger(object, "minMemory", 1024);
|
||||||
out.recMemory = Json::requireInteger(object, "recMemory");
|
out.recMemory = Json::ensureInteger(object, "recMemory", 2048);
|
||||||
out.memory = Json::requireInteger(object, "memory");
|
out.memory = Json::ensureInteger(object, "memory", 2048);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
catch (Json::JsonException & e)
|
catch (Json::JsonException & e)
|
||||||
|
Reference in New Issue
Block a user