mirror of
https://github.com/architectury/architectury-loom.git
synced 2026-04-02 05:27:43 -05:00
Move architectury.common.json check behind fabric.mod.json
Signed-off-by: shedaniel <daniel@shedaniel.me>
This commit is contained in:
@@ -45,44 +45,6 @@ public record AccessWidenerFile(
|
||||
* Reads the access-widener contained in a mod jar, or returns null if there is none.
|
||||
*/
|
||||
public static AccessWidenerFile fromModJar(Path modJarPath) {
|
||||
if (ZipUtils.contains(modJarPath, "architectury.common.json")) {
|
||||
String awPath = null;
|
||||
byte[] commonJsonBytes;
|
||||
|
||||
try {
|
||||
commonJsonBytes = ZipUtils.unpackNullable(modJarPath, "architectury.common.json");
|
||||
} catch (IOException e) {
|
||||
throw new UncheckedIOException("Failed to read access-widener file from: " + modJarPath.toAbsolutePath(), e);
|
||||
}
|
||||
|
||||
if (commonJsonBytes != null) {
|
||||
JsonObject jsonObject = new Gson().fromJson(new String(commonJsonBytes, StandardCharsets.UTF_8), JsonObject.class);
|
||||
|
||||
if (jsonObject.has("accessWidener")) {
|
||||
awPath = jsonObject.get("accessWidener").getAsString();
|
||||
} else {
|
||||
throw new IllegalArgumentException("The architectury.common.json file does not contain an accessWidener field.");
|
||||
}
|
||||
} else {
|
||||
// ???????????
|
||||
throw new IllegalArgumentException("The architectury.common.json file does not exist.");
|
||||
}
|
||||
|
||||
byte[] content;
|
||||
|
||||
try {
|
||||
content = ZipUtils.unpack(modJarPath, awPath);
|
||||
} catch (IOException e) {
|
||||
throw new UncheckedIOException("Could not find access widener file (%s) defined in the architectury.common.json file of %s".formatted(awPath, modJarPath.toAbsolutePath()), e);
|
||||
}
|
||||
|
||||
return new AccessWidenerFile(
|
||||
awPath,
|
||||
modJarPath.getFileName().toString(),
|
||||
content
|
||||
);
|
||||
}
|
||||
|
||||
byte[] modJsonBytes;
|
||||
|
||||
try {
|
||||
@@ -92,6 +54,44 @@ public record AccessWidenerFile(
|
||||
}
|
||||
|
||||
if (modJsonBytes == null) {
|
||||
if (ZipUtils.contains(modJarPath, "architectury.common.json")) {
|
||||
String awPath = null;
|
||||
byte[] commonJsonBytes;
|
||||
|
||||
try {
|
||||
commonJsonBytes = ZipUtils.unpackNullable(modJarPath, "architectury.common.json");
|
||||
} catch (IOException e) {
|
||||
throw new UncheckedIOException("Failed to read access-widener file from: " + modJarPath.toAbsolutePath(), e);
|
||||
}
|
||||
|
||||
if (commonJsonBytes != null) {
|
||||
JsonObject jsonObject = new Gson().fromJson(new String(commonJsonBytes, StandardCharsets.UTF_8), JsonObject.class);
|
||||
|
||||
if (jsonObject.has("accessWidener")) {
|
||||
awPath = jsonObject.get("accessWidener").getAsString();
|
||||
} else {
|
||||
throw new IllegalArgumentException("The architectury.common.json file does not contain an accessWidener field.");
|
||||
}
|
||||
} else {
|
||||
// ???????????
|
||||
throw new IllegalArgumentException("The architectury.common.json file does not exist.");
|
||||
}
|
||||
|
||||
byte[] content;
|
||||
|
||||
try {
|
||||
content = ZipUtils.unpack(modJarPath, awPath);
|
||||
} catch (IOException e) {
|
||||
throw new UncheckedIOException("Could not find access widener file (%s) defined in the architectury.common.json file of %s".formatted(awPath, modJarPath.toAbsolutePath()), e);
|
||||
}
|
||||
|
||||
return new AccessWidenerFile(
|
||||
awPath,
|
||||
modJarPath.getFileName().toString(),
|
||||
content
|
||||
);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user