diff options
Diffstat (limited to 'src')
3 files changed, 25 insertions, 33 deletions
diff --git a/src/main/java/net/fabricmc/loom/AbstractPlugin.java b/src/main/java/net/fabricmc/loom/AbstractPlugin.java index 5a76c6d5..e4410dfb 100644 --- a/src/main/java/net/fabricmc/loom/AbstractPlugin.java +++ b/src/main/java/net/fabricmc/loom/AbstractPlugin.java @@ -24,14 +24,17 @@ package net.fabricmc.loom; -import java.io.IOException; -import java.util.HashSet; -import java.util.Map; -import java.util.Optional; -import java.util.Set; - import com.google.common.collect.ImmutableMap; import groovy.util.Node; +import net.fabricmc.loom.providers.*; +import net.fabricmc.loom.task.AbstractLoomTask; +import net.fabricmc.loom.task.RemapAllSourcesTask; +import net.fabricmc.loom.task.RemapJarTask; +import net.fabricmc.loom.task.RemapSourcesJarTask; +import net.fabricmc.loom.util.*; +import net.fabricmc.loom.util.mixin.JavaApInvoker; +import net.fabricmc.loom.util.mixin.KaptApInvoker; +import net.fabricmc.loom.util.mixin.ScalaApInvoker; import org.gradle.api.Plugin; import org.gradle.api.Project; import org.gradle.api.Task; @@ -52,32 +55,8 @@ import org.gradle.api.tasks.bundling.Jar; import org.gradle.api.tasks.javadoc.Javadoc; import org.gradle.plugins.ide.idea.model.IdeaModel; -import net.fabricmc.loom.providers.ForgeProvider; -import net.fabricmc.loom.providers.ForgeUniversalProvider; -import net.fabricmc.loom.providers.ForgeUserdevProvider; -import net.fabricmc.loom.providers.LaunchProvider; -import net.fabricmc.loom.providers.MappingsCache; -import net.fabricmc.loom.providers.MappingsProvider; -import net.fabricmc.loom.providers.McpConfigProvider; -import net.fabricmc.loom.providers.MinecraftProvider; -import net.fabricmc.loom.providers.PatchProvider; -import net.fabricmc.loom.task.AbstractLoomTask; -import net.fabricmc.loom.task.RemapAllSourcesTask; -import net.fabricmc.loom.task.RemapJarTask; -import net.fabricmc.loom.task.RemapSourcesJarTask; -import net.fabricmc.loom.util.Constants; -import net.fabricmc.loom.util.DownloadUtil; -import net.fabricmc.loom.util.FabricApiExtension; -import net.fabricmc.loom.util.GroovyXmlUtil; -import net.fabricmc.loom.util.JarRemapper; -import net.fabricmc.loom.util.LoomDependencyManager; -import net.fabricmc.loom.util.NestedJars; -import net.fabricmc.loom.util.RemappedConfigurationEntry; -import net.fabricmc.loom.util.SetupIntelijRunConfigs; -import net.fabricmc.loom.util.SourceRemapper; -import net.fabricmc.loom.util.mixin.JavaApInvoker; -import net.fabricmc.loom.util.mixin.KaptApInvoker; -import net.fabricmc.loom.util.mixin.ScalaApInvoker; +import java.io.IOException; +import java.util.*; public class AbstractPlugin implements Plugin<Project> { protected Project project; @@ -295,9 +274,14 @@ public class AbstractPlugin implements Plugin<Project> { if (extension.isForge()) { remapJarTask.getToM().set("srg"); ((Jar) jarTask).manifest(manifest -> { + List<String> configs = new ArrayList<>(); if (extension.mixinConfig != null) { - manifest.attributes(ImmutableMap.of("MixinConfigs", extension.mixinConfig)); + configs.add(extension.mixinConfig); + } + if (extension.mixinConfigs != null) { + configs.addAll(extension.mixinConfigs); } + manifest.attributes(ImmutableMap.of("MixinConfigs", String.join(",", configs))); }); } diff --git a/src/main/java/net/fabricmc/loom/LoomGradleExtension.java b/src/main/java/net/fabricmc/loom/LoomGradleExtension.java index 0ea0dd8d..8aaa180b 100644 --- a/src/main/java/net/fabricmc/loom/LoomGradleExtension.java +++ b/src/main/java/net/fabricmc/loom/LoomGradleExtension.java @@ -77,6 +77,7 @@ public class LoomGradleExtension { public Function<String, Object> intermediaryUrl = mcVer -> "https://maven.fabricmc.net/net/fabricmc/intermediary/" + mcVer + "/intermediary-" + mcVer + "-v2.jar"; public boolean shareCaches = false; public String mixinConfig = null; // FORGE: Passed to Minecraft + public List<String> mixinConfigs = null; // FORGE: Passed to Minecraft private final ConfigurableFileCollection unmappedMods; diff --git a/src/main/java/net/fabricmc/loom/providers/LaunchProvider.java b/src/main/java/net/fabricmc/loom/providers/LaunchProvider.java index 48fe2e50..855cc507 100644 --- a/src/main/java/net/fabricmc/loom/providers/LaunchProvider.java +++ b/src/main/java/net/fabricmc/loom/providers/LaunchProvider.java @@ -87,11 +87,18 @@ public class LaunchProvider extends DependencyProvider { .property("net.minecraftforge.gradle.GradleStart.srg.srg-mcp", getExtension().getMappingsProvider().srgToNamedSrg.getAbsolutePath()); String mixinConfig = getExtension().mixinConfig; + List<String> mixinConfigs = getExtension().mixinConfigs; if (mixinConfig != null) { launchConfig.argument("-mixin.config"); launchConfig.argument(mixinConfig); } + if (mixinConfigs != null) { + for (String config : mixinConfigs) { + launchConfig.argument("-mixin.config"); + launchConfig.argument(config); + } + } } //Enable ansi by default for idea and vscode |
