Fix #3460 无法识别奇异的 Forge (Like) 模组 Metadata (#3470)

This commit is contained in:
Burning_TNT
2024-11-21 21:22:20 +08:00
committed by GitHub
parent 773ef4282c
commit c12ae9fdf8

View File

@@ -160,12 +160,17 @@ public final class ForgeNewModMetadata {
private static ModLoaderType analyzeLoader(Toml toml, String modID, int loaderACC, ModLoaderType defaultLoader) throws IOException { private static ModLoaderType analyzeLoader(Toml toml, String modID, int loaderACC, ModLoaderType defaultLoader) throws IOException {
List<HashMap<String, Object>> dependencies = toml.getList("dependencies." + modID); List<HashMap<String, Object>> dependencies = toml.getList("dependencies." + modID);
if (dependencies != null) { if (dependencies == null) {
for (HashMap<String, Object> dependency : dependencies) { dependencies = toml.getList("dependencies"); // ??? I have no idea why some of the Forge mods use [[dependencies]]
switch ((String) dependency.get("modId")) { if (dependencies == null) {
case "forge": return checkLoaderACC(loaderACC, ACC_FORGE, ModLoaderType.FORGE); return defaultLoader;
case "neoforge": return checkLoaderACC(loaderACC, ACC_NEO_FORGED, ModLoaderType.NEO_FORGED); }
} }
for (HashMap<String, Object> dependency : dependencies) {
switch ((String) dependency.get("modId")) {
case "forge": return checkLoaderACC(loaderACC, ACC_FORGE, ModLoaderType.FORGE);
case "neoforge": return checkLoaderACC(loaderACC, ACC_NEO_FORGED, ModLoaderType.NEO_FORGED);
} }
} }