diff options
author | Petr Mrázek <peterix@gmail.com> | 2017-11-11 01:38:31 +0100 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2017-12-03 01:22:34 +0100 |
commit | 85ae710d407eb31527183d5f8bec0399eb209f33 (patch) | |
tree | 23647a83506ad3bd052720fb40068240e9768481 /api/logic/minecraft/OneSixVersionFormat.cpp | |
parent | 17c8f31a09da6bdfc4aa7f67b2ca86b791f2ba96 (diff) | |
download | MultiMC-85ae710d407eb31527183d5f8bec0399eb209f33.tar MultiMC-85ae710d407eb31527183d5f8bec0399eb209f33.tar.gz MultiMC-85ae710d407eb31527183d5f8bec0399eb209f33.tar.lz MultiMC-85ae710d407eb31527183d5f8bec0399eb209f33.tar.xz MultiMC-85ae710d407eb31527183d5f8bec0399eb209f33.zip |
GH-2026 implement changes necessary to support 1.13 snapshots
Diffstat (limited to 'api/logic/minecraft/OneSixVersionFormat.cpp')
-rw-r--r-- | api/logic/minecraft/OneSixVersionFormat.cpp | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/api/logic/minecraft/OneSixVersionFormat.cpp b/api/logic/minecraft/OneSixVersionFormat.cpp index 7ebf514f..d91eae58 100644 --- a/api/logic/minecraft/OneSixVersionFormat.cpp +++ b/api/logic/minecraft/OneSixVersionFormat.cpp @@ -192,6 +192,19 @@ VersionFilePtr OneSixVersionFormat::versionFileFromJson(const QJsonDocument &doc out->mainJar = lib; } + if (root.contains("requires")) + { + Meta::parseRequires(root, &out->requires); + } + if (root.contains("conflicts")) + { + Meta::parseRequires(root, &out->conflicts); + } + if (root.contains("volatile")) + { + out->m_volatile = requireBoolean(root, "volatile"); + } + /* removed features that shouldn't be used */ if (root.contains("tweakers")) { @@ -216,13 +229,9 @@ VersionFilePtr OneSixVersionFormat::versionFileFromJson(const QJsonDocument &doc return out; } -QJsonDocument OneSixVersionFormat::versionFileToJson(const VersionFilePtr &patch, bool saveOrder) +QJsonDocument OneSixVersionFormat::versionFileToJson(const VersionFilePtr &patch) { QJsonObject root; - if (saveOrder) - { - root.insert("order", patch->order); - } writeString(root, "name", patch->name); writeString(root, "uid", patch->uid); @@ -266,6 +275,18 @@ QJsonDocument OneSixVersionFormat::versionFileToJson(const VersionFilePtr &patch } root.insert("mods", array); } + if(!patch->requires.empty()) + { + Meta::serializeRequires(root, &patch->requires, "requires"); + } + if(!patch->conflicts.empty()) + { + Meta::serializeRequires(root, &patch->conflicts, "conflicts"); + } + if(patch->m_volatile) + { + root.insert("volatile", true); + } // write the contents to a json document. { QJsonDocument out; |