Add fml.mcVersion and fml.forgeVersion to launch.cfg

This commit is contained in:
Juuxel
2020-11-30 15:06:20 +02:00
parent 0bda9a36ef
commit bda5d16924
3 changed files with 21 additions and 2 deletions

View File

@@ -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;
}

View File

@@ -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;

View File

@@ -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