MCPcopy Create free account
hub / github.com/PolyMC/PolyMC / readVersionProperties

Method readVersionProperties

launcher/minecraft/MojangVersionFormat.cpp:165–240  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

163}
164
165void MojangVersionFormat::readVersionProperties(const QJsonObject &in, VersionFile *out)
166{
167 Bits::readString(in, "id", out->minecraftVersion);
168 Bits::readString(in, "mainClass", out->mainClass);
169 Bits::readString(in, "minecraftArguments", out->minecraftArguments);
170 if(out->minecraftArguments.isEmpty())
171 {
172 QString processArguments;
173 Bits::readString(in, "processArguments", processArguments);
174 QString toCompare = processArguments.toLower();
175 if (toCompare == "legacy")
176 {
177 out->minecraftArguments = " ${auth_player_name} ${auth_session}";
178 }
179 else if (toCompare == "username_session")
180 {
181 out->minecraftArguments = "--username ${auth_player_name} --session ${auth_session}";
182 }
183 else if (toCompare == "username_session_version")
184 {
185 out->minecraftArguments = "--username ${auth_player_name} --session ${auth_session} --version ${profile_name}";
186 }
187 else if (!toCompare.isEmpty())
188 {
189 out->addProblem(ProblemSeverity::Error, QObject::tr("processArguments is set to unknown value '%1'").arg(processArguments));
190 }
191 }
192 Bits::readString(in, "type", out->type);
193
194 Bits::readString(in, "assets", out->assets);
195 if(in.contains("assetIndex"))
196 {
197 out->mojangAssetIndex = assetIndexFromJson(requireObject(in, "assetIndex"));
198 }
199 else if (!out->assets.isNull())
200 {
201 out->mojangAssetIndex = std::make_shared<MojangAssetIndexInfo>(out->assets);
202 }
203
204 out->releaseTime = timeFromS3Time(in.value("releaseTime").toString(""));
205 out->updateTime = timeFromS3Time(in.value("time").toString(""));
206
207 if (in.contains("minimumLauncherVersion"))
208 {
209 out->minimumLauncherVersion = requireInteger(in.value("minimumLauncherVersion"));
210 if (out->minimumLauncherVersion > CURRENT_MINIMUM_LAUNCHER_VERSION)
211 {
212 out->addProblem(
213 ProblemSeverity::Warning,
214 QObject::tr("The 'minimumLauncherVersion' value of this version (%1) is higher than supported by %3 (%2). It might not work properly!")
215 .arg(out->minimumLauncherVersion)
216 .arg(CURRENT_MINIMUM_LAUNCHER_VERSION)
217 .arg(BuildConfig.LAUNCHER_NAME)
218 );
219 }
220 }
221
222 if (in.contains("compatibleJavaMajors"))

Callers

nothing calls this directly

Calls 13

assetIndexFromJsonFunction · 0.85
requireObjectFunction · 0.85
timeFromS3TimeFunction · 0.85
requireArrayFunction · 0.85
downloadInfoFromJsonFunction · 0.85
isEmptyMethod · 0.80
addProblemMethod · 0.80
appendMethod · 0.80
beginMethod · 0.80
endMethod · 0.80
readStringFunction · 0.70
containsMethod · 0.45

Tested by

no test coverage detected