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

Method executeTask

launcher/minecraft/launch/VerifyJavaInstall.cpp:31–66  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

29#endif
30
31void VerifyJavaInstall::executeTask() {
32 auto m_inst = std::dynamic_pointer_cast<MinecraftInstance>(m_parent->instance());
33
34 auto javaVersion = m_inst->getJavaVersion();
35 auto minecraftComponent = m_inst->getPackProfile()->getComponent("net.minecraft");
36
37 // Java 17 requirement
38 if (minecraftComponent->getReleaseDateTime() >= g_VersionFilterData.java17BeginsDate) {
39 if (javaVersion.major() < 17) {
40 emit logLine("Minecraft 1.18 Pre Release 2 and above require the use of Java 17",
41 MessageLevel::Fatal);
42 emitFailed(tr("Minecraft 1.18 Pre Release 2 and above require the use of Java 17"));
43 return;
44 }
45 }
46 // Java 16 requirement
47 else if (minecraftComponent->getReleaseDateTime() >= g_VersionFilterData.java16BeginsDate) {
48 if (javaVersion.major() < 16) {
49 emit logLine("Minecraft 21w19a and above require the use of Java 16",
50 MessageLevel::Fatal);
51 emitFailed(tr("Minecraft 21w19a and above require the use of Java 16"));
52 return;
53 }
54 }
55 // Java 8 requirement
56 else if (minecraftComponent->getReleaseDateTime() >= g_VersionFilterData.java8BeginsDate) {
57 if (javaVersion.major() < 8) {
58 emit logLine("Minecraft 17w13a and above require the use of Java 8",
59 MessageLevel::Fatal);
60 emitFailed(tr("Minecraft 17w13a and above require the use of Java 8"));
61 return;
62 }
63 }
64
65 emitSucceeded();
66}

Callers

nothing calls this directly

Calls 6

getJavaVersionMethod · 0.80
getComponentMethod · 0.80
getPackProfileMethod · 0.80
getReleaseDateTimeMethod · 0.80
majorMethod · 0.80
instanceMethod · 0.45

Tested by

no test coverage detected