Use DLI for launching Forge

This commit is contained in:
Juuxel
2020-11-30 14:54:31 +02:00
parent c10f891a13
commit 0bda9a36ef
2 changed files with 10 additions and 6 deletions

View File

@@ -68,6 +68,11 @@ public class LaunchProvider extends DependencyProvider {
.argument("client", "--assetsDir")
.argument("client", new File(getExtension().getUserCache(), "assets").getAbsolutePath());
if (getExtension().isForge()) {
launchConfig.argument("client", "--launchTarget=fmluserdevclient");
launchConfig.argument("server", "--launchTarget=fmluserdevserver");
}
//Enable ansi by default for idea and vscode
if (new File(getProject().getRootDir(), ".vscode").exists()
|| new File(getProject().getRootDir(), ".idea").exists()

View File

@@ -111,10 +111,7 @@ public class RunConfig {
runConfig.runDir = "file://$PROJECT_DIR$/" + extension.runDir;
runConfig.vmArgs = "";
if (extension.isForge()) {
runConfig.mainClass = "net.minecraftforge.userdev.LaunchTesting";
runConfig.programArgs = "";
} else if ("launchwrapper".equals(extension.getLoaderLaunchMethod())) {
if ("launchwrapper".equals(extension.getLoaderLaunchMethod())) {
runConfig.mainClass = "net.minecraft.launchwrapper.Launch";
runConfig.programArgs = "--tweakClass " + ("client".equals(mode) ? Constants.LaunchWrapper.DEFAULT_FABRIC_CLIENT_TWEAKER : Constants.LaunchWrapper.DEFAULT_FABRIC_SERVER_TWEAKER);
} else {
@@ -161,7 +158,6 @@ public class RunConfig {
populate(project, extension, ideaClient, "client");
ideaClient.vmArgs += getOSClientJVMArgs();
ideaClient.vmArgs += " -Dfabric.dli.main=" + getMainClass("client", extension);
ideaClient.vmArgs += " -DlaunchTarget=fmluserdevclient";
return ideaClient;
}
@@ -173,7 +169,6 @@ public class RunConfig {
ideaServer.configName = "Minecraft Server";
populate(project, extension, ideaServer, "server");
ideaServer.vmArgs += " -Dfabric.dli.main=" + getMainClass("server", extension);
ideaServer.vmArgs += " -DlaunchTarget=fmluserdevserver";
return ideaServer;
}
@@ -210,6 +205,10 @@ public class RunConfig {
}
private static String getMainClass(String side, LoomGradleExtension extension) {
if (extension.isForge()) {
return "net.minecraftforge.userdev.LaunchTesting";
}
JsonObject installerJson = extension.getInstallerJson();
if (installerJson != null && installerJson.has("mainClass")) {