NOISSUE Error on launch when launching 1.18 with < Java 17

This commit is contained in:
Jamie Mansfield 2021-11-16 18:25:16 +00:00
parent 6c82883206
commit 014e65220e
No known key found for this signature in database
GPG Key ID: 36F61598F39F67B0
3 changed files with 13 additions and 1 deletions

View File

@ -68,4 +68,5 @@ VersionFilterData::VersionFilterData()
java8BeginsDate = timeFromS3Time("2017-03-30T09:32:19+00:00");
java16BeginsDate = timeFromS3Time("2021-05-12T11:19:15+00:00");
java17BeginsDate = timeFromS3Time("2021-11-16T17:04:48+00:00");
}

View File

@ -25,5 +25,7 @@ struct VersionFilterData
QDateTime java8BeginsDate;
// release data of first version to require Java 16 (21w19a)
QDateTime java16BeginsDate;
// release data of first version to require Java 17 (1.18 Pre Release 2)
QDateTime java17BeginsDate;
};
extern VersionFilterData g_VersionFilterData;

View File

@ -11,8 +11,17 @@ void VerifyJavaInstall::executeTask() {
auto javaVersion = m_inst->getJavaVersion();
auto minecraftComponent = m_inst->getPackProfile()->getComponent("net.minecraft");
// Java 17 requirement
if (minecraftComponent->getReleaseDateTime() >= g_VersionFilterData.java17BeginsDate) {
if (javaVersion.major() < 17) {
emit logLine("Minecraft 1.18 Pre Release 2 and above require the use of Java 17",
MessageLevel::Fatal);
emitFailed(tr("Minecraft 1.18 Pre Release 2 and above require the use of Java 17"));
return;
}
}
// Java 16 requirement
if (minecraftComponent->getReleaseDateTime() >= g_VersionFilterData.java16BeginsDate) {
else if (minecraftComponent->getReleaseDateTime() >= g_VersionFilterData.java16BeginsDate) {
if (javaVersion.major() < 16) {
emit logLine("Minecraft 21w19a and above require the use of Java 16",
MessageLevel::Fatal);