MCPcopy Create free account
hub / github.com/MultiMC/Launcher / readVersionProperties

Method readVersionProperties

launcher/minecraft/MojangVersionFormat.cpp:130–196  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

128}
129
130void MojangVersionFormat::readVersionProperties(const QJsonObject &in, VersionFile *out)
131{
132 Bits::readString(in, "id", out->minecraftVersion);
133 Bits::readString(in, "mainClass", out->mainClass);
134 Bits::readString(in, "minecraftArguments", out->minecraftArguments);
135 if(out->minecraftArguments.isEmpty())
136 {
137 QString processArguments;
138 Bits::readString(in, "processArguments", processArguments);
139 QString toCompare = processArguments.toLower();
140 if (toCompare == "legacy")
141 {
142 out->minecraftArguments = " ${auth_player_name} ${auth_session}";
143 }
144 else if (toCompare == "username_session")
145 {
146 out->minecraftArguments = "--username ${auth_player_name} --session ${auth_session}";
147 }
148 else if (toCompare == "username_session_version")
149 {
150 out->minecraftArguments = "--username ${auth_player_name} --session ${auth_session} --version ${profile_name}";
151 }
152 else if (!toCompare.isEmpty())
153 {
154 out->addProblem(ProblemSeverity::Error, QObject::tr("processArguments is set to unknown value '%1'").arg(processArguments));
155 }
156 }
157 Bits::readString(in, "type", out->type);
158
159 Bits::readString(in, "assets", out->assets);
160 if(in.contains("assetIndex"))
161 {
162 out->mojangAssetIndex = assetIndexFromJson(requireObject(in, "assetIndex"));
163 }
164 else if (!out->assets.isNull())
165 {
166 out->mojangAssetIndex = std::make_shared<MojangAssetIndexInfo>(out->assets);
167 }
168
169 out->releaseTime = timeFromS3Time(in.value("releaseTime").toString(""));
170 out->updateTime = timeFromS3Time(in.value("time").toString(""));
171
172 if (in.contains("minimumLauncherVersion"))
173 {
174 out->minimumLauncherVersion = requireInteger(in.value("minimumLauncherVersion"));
175 if (out->minimumLauncherVersion > CURRENT_MINIMUM_LAUNCHER_VERSION)
176 {
177 out->addProblem(
178 ProblemSeverity::Warning,
179 QObject::tr("The 'minimumLauncherVersion' value of this version (%1) is higher than supported by %3 (%2). It might not work properly!")
180 .arg(out->minimumLauncherVersion)
181 .arg(CURRENT_MINIMUM_LAUNCHER_VERSION)
182 .arg(BuildConfig.LAUNCHER_NAME)
183 );
184 }
185 }
186 if(in.contains("downloads"))
187 {

Callers

nothing calls this directly

Calls 12

assetIndexFromJsonFunction · 0.85
requireObjectFunction · 0.85
timeFromS3TimeFunction · 0.85
downloadInfoFromJsonFunction · 0.85
isEmptyMethod · 0.80
addProblemMethod · 0.80
keyMethod · 0.80
readStringFunction · 0.70
containsMethod · 0.45
toStringMethod · 0.45
beginMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected