Fix SRG being used on NeoForge

This commit is contained in:
Juuz
2023-11-01 02:12:52 +02:00
parent 7aa190e447
commit f621913b33
5 changed files with 24 additions and 8 deletions

View File

@@ -34,11 +34,18 @@ public final class IntermediaryNamespaces {
* Returns the intermediary namespace of the project.
*/
public static String intermediary(Project project) {
return intermediaryNamespace(project).toString();
}
/**
* Returns the intermediary namespace of the project.
*/
public static MappingsNamespace intermediaryNamespace(Project project) {
LoomGradleExtension extension = LoomGradleExtension.get(project);
return switch (extension.getPlatform().get()) {
case FABRIC, QUILT -> MappingsNamespace.INTERMEDIARY.toString();
case FORGE -> MappingsNamespace.SRG.toString();
case NEOFORGE -> MappingsNamespace.MOJANG.toString();
case FABRIC, QUILT -> MappingsNamespace.INTERMEDIARY;
case FORGE -> MappingsNamespace.SRG;
case NEOFORGE -> MappingsNamespace.MOJANG;
};
}

View File

@@ -200,7 +200,7 @@ public class ModProcessor {
final TinyRemapper remapper = builder.build();
for (Path minecraftJar : extension.getMinecraftJars(extension.isForgeLike() ? MappingsNamespace.SRG : MappingsNamespace.INTERMEDIARY)) {
for (Path minecraftJar : extension.getMinecraftJars(IntermediaryNamespaces.intermediaryNamespace(project))) {
remapper.readClassPathAsync(minecraftJar);
}

View File

@@ -221,8 +221,9 @@ public class ForgeSourcesRemapper {
mercury.getClassPath().add(file.toPath());
}
// Distinct and add the srg jar at the top, so it gets prioritized
mercury.getClassPath().addAll(0, extension.getMinecraftJars(MappingsNamespace.SRG));
// Distinct and add the srg/mojang jar at the top, so it gets prioritized
MappingsNamespace sourceNs = extension.isNeoForge() ? MappingsNamespace.MOJANG : MappingsNamespace.SRG;
mercury.getClassPath().addAll(0, extension.getMinecraftJars(sourceNs));
List<Path> newClassPath = mercury.getClassPath().stream()
.distinct()

View File

@@ -192,10 +192,14 @@ public abstract class MigrateMappingsTask extends AbstractLoomTask {
mercury.getClassPath().add(intermediaryJar);
}
if (extension.isForgeLike()) {
if (extension.isForge()) {
for (Path srgJar : extension.getMinecraftJars(MappingsNamespace.SRG)) {
mercury.getClassPath().add(srgJar);
}
} else if (extension.isNeoForge()) {
for (Path mojangJar : extension.getMinecraftJars(MappingsNamespace.MOJANG)) {
mercury.getClassPath().add(mojangJar);
}
}
mercury.getProcessors().add(MercuryRemapper.create(mappingSet));

View File

@@ -199,10 +199,14 @@ public class SourceRemapper {
mercury.getClassPath().add(intermediaryJar);
}
if (extension.isForgeLike()) {
if (extension.isForge()) {
for (Path srgJar : extension.getMinecraftJars(MappingsNamespace.SRG)) {
mercury.getClassPath().add(srgJar);
}
} else if (extension.isNeoForge()) {
for (Path mojangJar : extension.getMinecraftJars(MappingsNamespace.MOJANG)) {
mercury.getClassPath().add(mojangJar);
}
}
Set<File> files = project.getConfigurations()