MCPcopy Create free account
hub / github.com/PolyMC/PolyMC / javaArguments

Method javaArguments

launcher/minecraft/MinecraftInstance.cpp:388–448  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

386}
387
388QStringList MinecraftInstance::javaArguments()
389{
390 QStringList args;
391
392 if (!m_authlibinjector_javaagent->isNull())
393 {
394 args.append(QString("-javaagent:%1").arg(*m_authlibinjector_javaagent));
395 }
396
397 // custom args go first. we want to override them if we have our own here.
398 args.append(extraArguments());
399
400 // OSX dock icon and name
401#ifdef Q_OS_MAC
402 args << "-Xdock:icon=icon.png";
403 args << QString("-Xdock:name=\"%1\"").arg(windowTitle());
404#endif
405 auto traits_ = traits();
406 // HACK: fix issues on macOS with 1.13 snapshots
407 // NOTE: Oracle Java option. if there are alternate jvm implementations, this would be the place to customize this for them
408#ifdef Q_OS_MAC
409 if(traits_.contains("FirstThreadOnMacOS"))
410 {
411 args << QString("-XstartOnFirstThread");
412 }
413#endif
414
415 // HACK: Stupid hack for Intel drivers. See: https://mojang.atlassian.net/browse/MCL-767
416#ifdef Q_OS_WIN32
417 args << QString("-XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_"
418 "minecraft.exe.heapdump");
419#endif
420
421 int min = settings()->get("MinMemAlloc").toInt();
422 int max = settings()->get("MaxMemAlloc").toInt();
423 if(min < max)
424 {
425 args << QString("-Xms%1m").arg(min);
426 args << QString("-Xmx%1m").arg(max);
427 }
428 else
429 {
430 args << QString("-Xms%1m").arg(max);
431 args << QString("-Xmx%1m").arg(min);
432 }
433
434 // No PermGen in newer java.
435 JavaVersion javaVersion = getJavaVersion();
436 if(javaVersion.requiresPermGen())
437 {
438 auto permgen = settings()->get("PermGen").toInt();
439 if (permgen != 64)
440 {
441 args << QString("-XX:PermSize=%1m").arg(permgen);
442 }
443 }
444
445 args << "-Duser.language=en";

Callers 2

executeTaskMethod · 0.80
executeTaskMethod · 0.80

Calls 5

QStringClass · 0.85
appendMethod · 0.80
requiresPermGenMethod · 0.80
containsMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected