aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/net/fabricmc/loom
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/fabricmc/loom')
-rw-r--r--src/main/java/net/fabricmc/loom/LoomGradleExtension.java5
-rw-r--r--src/main/java/net/fabricmc/loom/providers/ForgeProvider.java7
-rw-r--r--src/main/java/net/fabricmc/loom/providers/LaunchProvider.java11
3 files changed, 21 insertions, 2 deletions
diff --git a/src/main/java/net/fabricmc/loom/LoomGradleExtension.java b/src/main/java/net/fabricmc/loom/LoomGradleExtension.java
index b20fd12a..b09f7440 100644
--- a/src/main/java/net/fabricmc/loom/LoomGradleExtension.java
+++ b/src/main/java/net/fabricmc/loom/LoomGradleExtension.java
@@ -52,6 +52,7 @@ import org.gradle.api.plugins.BasePluginConvention;
import net.fabricmc.loom.api.decompilers.LoomDecompiler;
import net.fabricmc.loom.processors.JarProcessor;
import net.fabricmc.loom.processors.JarProcessorManager;
+import net.fabricmc.loom.providers.ForgeProvider;
import net.fabricmc.loom.providers.ForgeUniversalProvider;
import net.fabricmc.loom.providers.ForgeUserdevProvider;
import net.fabricmc.loom.providers.MappingsProvider;
@@ -373,6 +374,10 @@ public class LoomGradleExtension {
return getDependencyManager().getProvider(ForgeUserdevProvider.class);
}
+ public ForgeProvider getForgeProvider() {
+ return getDependencyManager().getProvider(ForgeProvider.class);
+ }
+
public void setDependencyManager(LoomDependencyManager dependencyManager) {
this.dependencyManager = dependencyManager;
}
diff --git a/src/main/java/net/fabricmc/loom/providers/ForgeProvider.java b/src/main/java/net/fabricmc/loom/providers/ForgeProvider.java
index a3fa8147..19829e31 100644
--- a/src/main/java/net/fabricmc/loom/providers/ForgeProvider.java
+++ b/src/main/java/net/fabricmc/loom/providers/ForgeProvider.java
@@ -32,16 +32,23 @@ import net.fabricmc.loom.util.Constants;
import net.fabricmc.loom.util.DependencyProvider;
public class ForgeProvider extends DependencyProvider {
+ private String forgeVersion = "NO_VERSION";
+
public ForgeProvider(Project project) {
super(project);
}
@Override
public void provide(DependencyInfo dependency, Consumer<Runnable> postPopulationScheduler) throws Exception {
+ forgeVersion = dependency.getDependency().getVersion();
addDependency(dependency.getDepString() + ":userdev", Constants.Configurations.FORGE_USERDEV);
addDependency(dependency.getDepString() + ":installer", Constants.Configurations.FORGE_INSTALLER);
}
+ public String getForgeVersion() {
+ return forgeVersion;
+ }
+
@Override
public String getTargetConfig() {
return Constants.Configurations.FORGE;
diff --git a/src/main/java/net/fabricmc/loom/providers/LaunchProvider.java b/src/main/java/net/fabricmc/loom/providers/LaunchProvider.java
index 8b5c6559..28678082 100644
--- a/src/main/java/net/fabricmc/loom/providers/LaunchProvider.java
+++ b/src/main/java/net/fabricmc/loom/providers/LaunchProvider.java
@@ -69,8 +69,15 @@ public class LaunchProvider extends DependencyProvider {
.argument("client", new File(getExtension().getUserCache(), "assets").getAbsolutePath());
if (getExtension().isForge()) {
- launchConfig.argument("client", "--launchTarget=fmluserdevclient");
- launchConfig.argument("server", "--launchTarget=fmluserdevserver");
+ launchConfig
+ .argument("fml.mcVersion", getExtension().getMinecraftProvider().getMinecraftVersion())
+ .argument("fml.forgeVersion", getExtension().getForgeProvider().getForgeVersion())
+
+ .argument("client", "--launchTarget")
+ .argument("client", "fmluserdevclient")
+
+ .argument("server", "--launchTarget")
+ .argument("server", "fmluserdevserver");
}
//Enable ansi by default for idea and vscode