diff --git a/src/main/java/net/fabricmc/loom/providers/LaunchProvider.java b/src/main/java/net/fabricmc/loom/providers/LaunchProvider.java index 3697874c..8b5c6559 100644 --- a/src/main/java/net/fabricmc/loom/providers/LaunchProvider.java +++ b/src/main/java/net/fabricmc/loom/providers/LaunchProvider.java @@ -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() diff --git a/src/main/java/net/fabricmc/loom/util/RunConfig.java b/src/main/java/net/fabricmc/loom/util/RunConfig.java index 7c7e0914..6f4dea88 100644 --- a/src/main/java/net/fabricmc/loom/util/RunConfig.java +++ b/src/main/java/net/fabricmc/loom/util/RunConfig.java @@ -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")) {