| 6 | #include <minecraft/VersionFilterData.h> |
| 7 | |
| 8 | void VerifyJavaInstall::executeTask() { |
| 9 | auto m_inst = std::dynamic_pointer_cast<MinecraftInstance>(m_parent->instance()); |
| 10 | |
| 11 | auto javaVersion = m_inst->getJavaVersion(); |
| 12 | auto minecraftComponent = m_inst->getPackProfile()->getComponent("net.minecraft"); |
| 13 | |
| 14 | // Java 17 requirement |
| 15 | if (minecraftComponent->getReleaseDateTime() >= g_VersionFilterData.java17BeginsDate) { |
| 16 | if (javaVersion.major() < 17) { |
| 17 | emit logLine("Minecraft 1.18 Pre Release 2 and above require the use of Java 17", |
| 18 | MessageLevel::Fatal); |
| 19 | emitFailed(tr("Minecraft 1.18 Pre Release 2 and above require the use of Java 17")); |
| 20 | return; |
| 21 | } |
| 22 | } |
| 23 | // Java 16 requirement |
| 24 | else if (minecraftComponent->getReleaseDateTime() >= g_VersionFilterData.java16BeginsDate) { |
| 25 | if (javaVersion.major() < 16) { |
| 26 | emit logLine("Minecraft 21w19a and above require the use of Java 16", |
| 27 | MessageLevel::Fatal); |
| 28 | emitFailed(tr("Minecraft 21w19a and above require the use of Java 16")); |
| 29 | return; |
| 30 | } |
| 31 | } |
| 32 | // Java 8 requirement |
| 33 | else if (minecraftComponent->getReleaseDateTime() >= g_VersionFilterData.java8BeginsDate) { |
| 34 | if (javaVersion.major() < 8) { |
| 35 | emit logLine("Minecraft 17w13a and above require the use of Java 8", |
| 36 | MessageLevel::Fatal); |
| 37 | emitFailed(tr("Minecraft 17w13a and above require the use of Java 8")); |
| 38 | return; |
| 39 | } |
| 40 | } |
| 41 | |
| 42 | emitSucceeded(); |
| 43 | } |
nothing calls this directly
no test coverage detected