mirror of
https://github.com/PrismLauncher/PrismLauncher.git
synced 2026-06-29 01:54:20 +03:00
Trim unexpected info from pack.mcmeta
Signed-off-by: Dylan Schooner <dschooner05@gmail.com>
(cherry picked from commit 43fce3ae46)
This commit is contained in:
parent
79be92ca74
commit
1ebe081e03
1 changed files with 13 additions and 3 deletions
|
|
@ -168,10 +168,20 @@ bool processZIP(DataPack* pack, ProcessingLevel level)
|
|||
// https://minecraft.wiki/w/Tutorials/Creating_a_resource_pack#Formatting_pack.mcmeta
|
||||
bool processMCMeta(DataPack* pack, QByteArray&& raw_data)
|
||||
{
|
||||
try {
|
||||
auto json_doc = QJsonDocument::fromJson(raw_data);
|
||||
auto pack_obj = Json::requireObject(json_doc.object(), "pack", {});
|
||||
QJsonParseError parse_error;
|
||||
auto json_doc = QJsonDocument::fromJson(raw_data, &parse_error);
|
||||
if (parse_error.error != QJsonParseError::NoError) {
|
||||
QByteArray validJson = raw_data.left(parse_error.offset);
|
||||
json_doc = QJsonDocument::fromJson(validJson, &parse_error);
|
||||
|
||||
if (parse_error.error != QJsonParseError::NoError) {
|
||||
qWarning() << "Failed to parse JSON:" << parse_error.errorString();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
auto pack_obj = Json::requireObject(json_doc.object(), "pack", {});
|
||||
pack->setPackFormat(pack_obj["pack_format"].toInt());
|
||||
pack->setDescription(DataPackUtils::processComponent(pack_obj.value("description")));
|
||||
} catch (Json::JsonException& e) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue