diff --git a/build.gradle b/build.gradle index 0e3befbe8f..65da6ce9ee 100644 --- a/build.gradle +++ b/build.gradle @@ -88,6 +88,7 @@ license { header = project.file('LICENSE-header.txt') include 'net/minecraftforge/' + exclude 'net/minecraftforge/api/distmarker/' exclude 'net/minecraftforge/fml/repackage/' exclude 'net/minecraftforge/server/terminalconsole/' exclude 'net/minecraftforge/fml/common/versioning/ComparableVersion.java' diff --git a/src/main/java/net/minecraftforge/fml/common/launcher/FMLTweaker.java b/src/main/java/net/minecraftforge/fml/common/launcher/FMLTweaker.java index 13f7b11e3d..c56e6bb4c4 100644 --- a/src/main/java/net/minecraftforge/fml/common/launcher/FMLTweaker.java +++ b/src/main/java/net/minecraftforge/fml/common/launcher/FMLTweaker.java @@ -122,6 +122,8 @@ public class FMLTweaker implements ITweaker { Yggdrasil.login(launchArgs); + Launch.blackboard.put("forgeLaunchArgs", Maps.newHashMap(launchArgs)); + try { jarLocation = getClass().getProtectionDomain().getCodeSource().getLocation().toURI(); @@ -143,6 +145,11 @@ public class FMLTweaker implements ITweaker { @Override public String getLaunchTarget() { + // Remove the extraneous mods and modListFile args + @SuppressWarnings("unchecked") + Map args = (Map) Launch.blackboard.get("launchArgs"); + args.remove("--modListFile"); + args.remove("--mods"); return "net.minecraft.client.main.Main"; } @@ -154,11 +161,10 @@ public class FMLTweaker implements ITweaker { for (Entry arg : launchArgs.entrySet()) { - if ("--modListFile".equals(arg.getKey()) || "--mods".equals(arg.getKey())) - continue; args.add(arg.getKey()); args.add(arg.getValue()); } + launchArgs.clear(); return args.toArray(new String[args.size()]); } diff --git a/src/main/java/net/minecraftforge/fml/relauncher/libraries/LibraryManager.java b/src/main/java/net/minecraftforge/fml/relauncher/libraries/LibraryManager.java index c7e2bc3a63..70aa3cddeb 100644 --- a/src/main/java/net/minecraftforge/fml/relauncher/libraries/LibraryManager.java +++ b/src/main/java/net/minecraftforge/fml/relauncher/libraries/LibraryManager.java @@ -443,7 +443,7 @@ public class LibraryManager List list = new ArrayList<>(); @SuppressWarnings("unchecked") - Map args = (Map)Launch.blackboard.get("launchArgs"); + Map args = (Map)Launch.blackboard.get("forgeLaunchArgs"); String extraMods = args.get("--mods"); if (extraMods != null) {