aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorJuuxel <6596629+Juuxel@users.noreply.github.com>2020-12-03 18:08:43 +0200
committerJuuxel <6596629+Juuxel@users.noreply.github.com>2020-12-03 18:08:43 +0200
commitebc4b49390d4a43cba3a9a2d5621d31ccb1541e3 (patch)
treecf5f52c95b41a2bf2a209b9fa182363784a2761f /src/main
parent2d88e849ec702cde4ffe80d45712935f40434a66 (diff)
downloadarchitectury-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.java5
-rw-r--r--src/main/java/net/fabricmc/loom/util/ModProcessor.java13
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());
+ }
}
}