diff options
| author | Juuxel <6596629+Juuxel@users.noreply.github.com> | 2020-12-03 18:08:43 +0200 |
|---|---|---|
| committer | Juuxel <6596629+Juuxel@users.noreply.github.com> | 2020-12-03 18:08:43 +0200 |
| commit | ebc4b49390d4a43cba3a9a2d5621d31ccb1541e3 (patch) | |
| tree | cf5f52c95b41a2bf2a209b9fa182363784a2761f /src/main | |
| parent | 2d88e849ec702cde4ffe80d45712935f40434a66 (diff) | |
| download | architectury-loom-ebc4b49390d4a43cba3a9a2d5621d31ccb1541e3.tar.gz architectury-loom-ebc4b49390d4a43cba3a9a2d5621d31ccb1541e3.tar.bz2 architectury-loom-ebc4b49390d4a43cba3a9a2d5621d31ccb1541e3.zip | |
Remap mod dependencies + their coremods and ATs
Diffstat (limited to 'src/main')
| -rw-r--r-- | src/main/java/net/fabricmc/loom/providers/MinecraftPatchedProvider.java | 5 | ||||
| -rw-r--r-- | src/main/java/net/fabricmc/loom/util/ModProcessor.java | 13 |
2 files changed, 14 insertions, 4 deletions
diff --git a/src/main/java/net/fabricmc/loom/providers/MinecraftPatchedProvider.java b/src/main/java/net/fabricmc/loom/providers/MinecraftPatchedProvider.java index 4d41c861..614ac3cf 100644 --- a/src/main/java/net/fabricmc/loom/providers/MinecraftPatchedProvider.java +++ b/src/main/java/net/fabricmc/loom/providers/MinecraftPatchedProvider.java @@ -48,7 +48,6 @@ import net.minecraftforge.binarypatcher.ConsoleTool; import net.minecraftforge.gradle.mcp.util.MCPRuntime; import net.minecraftforge.gradle.mcp.util.MCPWrapper; import org.apache.commons.io.FileUtils; -import org.apache.commons.lang3.ArrayUtils; import org.gradle.api.Project; import org.gradle.api.logging.Logger; import org.gradle.api.plugins.JavaPluginConvention; @@ -218,7 +217,9 @@ public class MinecraftPatchedProvider extends DependencyProvider { }; if (modAt != null) { - args = ArrayUtils.addAll(args, "--atFile", modAt.getAbsolutePath()); + args = Arrays.copyOf(args, args.length + 2); + args[args.length - 2] = "--atFile"; + args[args.length - 1] = modAt.getAbsolutePath(); } TransformerProcessor.main(args); diff --git a/src/main/java/net/fabricmc/loom/util/ModProcessor.java b/src/main/java/net/fabricmc/loom/util/ModProcessor.java index 1932f21f..0cac7fc3 100644 --- a/src/main/java/net/fabricmc/loom/util/ModProcessor.java +++ b/src/main/java/net/fabricmc/loom/util/ModProcessor.java @@ -59,6 +59,9 @@ import net.fabricmc.loom.LoomGradleExtension; import net.fabricmc.loom.providers.MappingsProvider; import net.fabricmc.loom.providers.MinecraftMappedProvider; import net.fabricmc.loom.processors.dependency.ModDependencyInfo; +import net.fabricmc.loom.util.srg.AtRemapper; +import net.fabricmc.loom.util.srg.CoreModClassRemapper; +import net.fabricmc.mapping.tree.TinyTree; import net.fabricmc.tinyremapper.TinyRemapper; import net.fabricmc.tinyremapper.InputTag; import net.fabricmc.tinyremapper.OutputConsumerPath; @@ -129,7 +132,7 @@ public class ModProcessor { private static void remapJars(Project project, List<ModDependencyInfo> processList) throws IOException { LoomGradleExtension extension = project.getExtensions().getByType(LoomGradleExtension.class); - String fromM = "intermediary"; + String fromM = extension.isForge() ? "srg" : "intermediary"; String toM = "named"; MinecraftMappedProvider mappedProvider = extension.getMinecraftMappedProvider(); @@ -142,8 +145,9 @@ public class ModProcessor { project.getLogger().lifecycle(":remapping " + remapList.size() + " mods (TinyRemapper, " + fromM + " -> " + toM + ")"); + TinyTree mappings = extension.isForge() ? mappingsProvider.getMappingsWithSrg() : mappingsProvider.getMappings(); TinyRemapper remapper = TinyRemapper.newRemapper() - .withMappings(TinyRemapperMappingsHelper.create(mappingsProvider.getMappings(), fromM, toM, false)) + .withMappings(TinyRemapperMappingsHelper.create(mappings, fromM, toM, false)) .renameInvalidLocals(false) .build(); @@ -196,6 +200,11 @@ public class ModProcessor { if (accessWidener != null) { ZipUtil.replaceEntry(info.getRemappedOutput(), info.getAccessWidener(), accessWidener); } + + if (extension.isForge()) { + AtRemapper.remap(info.getRemappedOutput().toPath(), mappings); + CoreModClassRemapper.remapJar(info.getRemappedOutput().toPath(), mappings, project.getLogger()); + } } } |
