Skip to content

Commit

Permalink
Make all jars nestable on Forge (#153)
Browse files Browse the repository at this point in the history
Fixes #152.
  • Loading branch information
SettingDust committed Aug 12, 2023
1 parent 66edc60 commit 25eefb5
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 3 deletions.
6 changes: 3 additions & 3 deletions src/main/java/net/fabricmc/loom/build/nesting/JarNester.java
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ public static void nestJars(Collection<File> jars, List<NestedFile> forgeJars, F
return;
}

Preconditions.checkArgument(FabricModJsonFactory.isModJar(modJar, platform), "Cannot nest jars into none mod jar " + modJar.getName());
Preconditions.checkArgument(FabricModJsonFactory.isNestableModJar(modJar, platform), "Cannot nest jars into none mod jar " + modJar.getName());

try {
ZipUtils.add(modJar.toPath(), jars.stream().map(file -> {
Expand All @@ -78,7 +78,7 @@ public static void nestJars(Collection<File> jars, List<NestedFile> forgeJars, F

for (File file : jars) {
String nestedJarPath = "META-INF/jars/" + file.getName();
Preconditions.checkArgument(FabricModJsonFactory.isModJar(file, platform), "Cannot nest none mod jar: " + file.getName());
Preconditions.checkArgument(FabricModJsonFactory.isNestableModJar(file, platform), "Cannot nest none mod jar: " + file.getName());

for (JsonElement nestedJar : nestedJars) {
JsonObject jsonObject = nestedJar.getAsJsonObject();
Expand Down Expand Up @@ -115,7 +115,7 @@ public static void nestJars(Collection<File> jars, List<NestedFile> forgeJars, F

for (File file : jars) {
String nestedJarPath = "META-INF/jars/" + file.getName();
Preconditions.checkArgument(FabricModJsonFactory.isModJar(file, platform), "Cannot nest none mod jar: " + file.getName());
Preconditions.checkArgument(FabricModJsonFactory.isNestableModJar(file, platform), "Cannot nest none mod jar: " + file.getName());

for (JsonElement nestedJar : nestedJars) {
String nestedJarString = nestedJar.getAsString();
Expand Down
10 changes: 10 additions & 0 deletions src/main/java/net/fabricmc/loom/util/fmj/FabricModJsonFactory.java
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,16 @@ public static boolean isModJar(Path input, ModPlatform platform) {
return ZipUtils.contains(input, FABRIC_MOD_JSON);
}

public static boolean isNestableModJar(File file, ModPlatform platform) {
return isNestableModJar(file.toPath(), platform);
}

public static boolean isNestableModJar(Path input, ModPlatform platform) {
// Forge don't care if the main jar is mod jar.
if (platform == ModPlatform.FORGE) return true;
return isModJar(input, platform);
}

public static boolean containsMod(FileSystemUtil.Delegate fs, ModPlatform platform) {
if (Files.exists(fs.getPath("architectury.common.marker"))) {
return true;
Expand Down

0 comments on commit 25eefb5

Please sign in to comment.