| 163 | } |
| 164 | |
| 165 | void 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")) |
nothing calls this directly
no test coverage detected