diff options
Diffstat (limited to 'src/main/java/net/fabricmc/loom')
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 |
