| 128 | } |
| 129 | |
| 130 | void 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 | { |
nothing calls this directly
no test coverage detected