mirror of
https://github.com/architectury/architectury-loom.git
synced 2026-04-02 13:37:45 -05:00
Use DLI for launching Forge
This commit is contained in:
@@ -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()
|
||||
|
||||
@@ -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")) {
|
||||
|
||||
Reference in New Issue
Block a user