diff options
author | Sefa Eyeoglu <contact@scrumplex.net> | 2022-11-16 18:11:17 +0100 |
---|---|---|
committer | Sefa Eyeoglu <contact@scrumplex.net> | 2022-11-16 18:11:18 +0100 |
commit | 40970a1a87a48f434dae8583f2c71942931c3fe1 (patch) | |
tree | 83c89f5013f49bfa67855555e01da60d0aed748f | |
parent | 8aae652be1ee876996bc833fcd74e1de9b1c61dc (diff) | |
download | PrismLauncher-40970a1a87a48f434dae8583f2c71942931c3fe1.tar.gz PrismLauncher-40970a1a87a48f434dae8583f2c71942931c3fe1.tar.bz2 PrismLauncher-40970a1a87a48f434dae8583f2c71942931c3fe1.zip |
fix: serialize metadata extensions
Prism has introduced a few extensions to the meta component version
format, which were not exported as JSON in the launcher. This caused the
`Customize` button on the version page to not write these new properties
to the custom component file.
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
-rw-r--r-- | launcher/minecraft/MojangVersionFormat.cpp | 9 | ||||
-rw-r--r-- | launcher/minecraft/OneSixVersionFormat.cpp | 14 |
2 files changed, 23 insertions, 0 deletions
diff --git a/launcher/minecraft/MojangVersionFormat.cpp b/launcher/minecraft/MojangVersionFormat.cpp index 9bbb4ada..9b442d63 100644 --- a/launcher/minecraft/MojangVersionFormat.cpp +++ b/launcher/minecraft/MojangVersionFormat.cpp @@ -306,6 +306,15 @@ void MojangVersionFormat::writeVersionProperties(const VersionFile* in, QJsonObj } out.insert("downloads", downloadsOut); } + if(in->compatibleJavaMajors.size()) + { + QJsonArray compatibleJavaMajorsOut; + for(auto compatibleJavaMajor : in->compatibleJavaMajors) + { + compatibleJavaMajorsOut.append(compatibleJavaMajor); + } + out.insert("compatibleJavaMajors", compatibleJavaMajorsOut); + } } QJsonDocument MojangVersionFormat::versionFileToJson(const VersionFilePtr &patch) diff --git a/launcher/minecraft/OneSixVersionFormat.cpp b/launcher/minecraft/OneSixVersionFormat.cpp index c70e5ec5..ac29791b 100644 --- a/launcher/minecraft/OneSixVersionFormat.cpp +++ b/launcher/minecraft/OneSixVersionFormat.cpp @@ -331,6 +331,20 @@ QJsonDocument OneSixVersionFormat::versionFileToJson(const VersionFilePtr &patch writeString(root, "appletClass", patch->appletClass); writeStringList(root, "+tweakers", patch->addTweakers); writeStringList(root, "+traits", patch->traits.values()); + writeStringList(root, "+jvmArgs", patch->addnJvmArguments); + if (!patch->agents.isEmpty()) + { + QJsonArray array; + for (auto value: patch->agents) + { + QJsonObject agentOut = OneSixVersionFormat::libraryToJson(value->library().get()); + if (!value->argument().isEmpty()) + agentOut.insert("argument", value->argument()); + + array.append(agentOut); + } + root.insert("+agents", array); + } if (!patch->libraries.isEmpty()) { QJsonArray array; |