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

Method executeTask

launcher/minecraft/launch/VerifyJavaInstall.cpp:8–43  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6#include <minecraft/VersionFilterData.h>
7
8void 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}

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