From f59822fd65f7e4e6c7726db29d02420ebe6948a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Sun, 29 May 2022 04:24:55 +0200 Subject: [PATCH] NOISSUE make FTBA import more lenient towards missing fields --- .../ui/pages/modplatform/import_ftb/Model.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/launcher/ui/pages/modplatform/import_ftb/Model.cpp b/launcher/ui/pages/modplatform/import_ftb/Model.cpp index a84fc5b6..720b446f 100644 --- a/launcher/ui/pages/modplatform/import_ftb/Model.cpp +++ b/launcher/ui/pages/modplatform/import_ftb/Model.cpp @@ -160,26 +160,26 @@ bool parseModpackJson(const QByteArray& data, Modpack & out) { { auto document = Json::requireDocument(data); auto object = Json::requireObject(document); - bool isInstalled = Json::requireBoolean(object, "installComplete"); + bool isInstalled = Json::ensureBoolean(object, "installComplete", true); if(!isInstalled) { return false; } out.id = Json::requireInteger(object, "id"); out.name = Json::requireString(object, "name"); out.version = Json::requireString(object, "version"); - out.description = Json::requireString(object, "description"); - auto authorsArray = Json::requireArray(object, "authors"); + out.description = Json::ensureString(object, "description", QObject::tr("Description is missing in the FTB App instance.")); + auto authorsArray = Json::ensureArray(object, "authors", QJsonArray()); for(auto author: authorsArray) { out.authors.append(Json::requireString(author)); } out.mcVersion = Json::requireString(object, "mcVersion"); - out.modLoader = Json::requireString(object, "modLoader"); - out.hasInstMods = Json::requireBoolean(object, "hasInstMods"); + out.modLoader = Json::ensureString(object, "modLoader", QString()); + out.hasInstMods = Json::ensureBoolean(object, "hasInstMods", false); - out.minMemory = Json::requireInteger(object, "minMemory"); - out.recMemory = Json::requireInteger(object, "recMemory"); - out.memory = Json::requireInteger(object, "memory"); + out.minMemory = Json::ensureInteger(object, "minMemory", 1024); + out.recMemory = Json::ensureInteger(object, "recMemory", 2048); + out.memory = Json::ensureInteger(object, "memory", 2048); return true; } catch (Json::JsonException & e)