From 51db5f2ff73156a02f2a2f4628d5811991a488cd Mon Sep 17 00:00:00 2001 From: Marc Hermans Date: Sun, 14 Aug 2022 21:18:22 +0200 Subject: [PATCH] Fix a corner case where the UMLB can not extract a version from a library. (#8967) --- .../net/minecraftforge/fml/loading/UniqueModListBuilder.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/fmlloader/src/main/java/net/minecraftforge/fml/loading/UniqueModListBuilder.java b/fmlloader/src/main/java/net/minecraftforge/fml/loading/UniqueModListBuilder.java index bf8431c247..68e301ea75 100644 --- a/fmlloader/src/main/java/net/minecraftforge/fml/loading/UniqueModListBuilder.java +++ b/fmlloader/src/main/java/net/minecraftforge/fml/loading/UniqueModListBuilder.java @@ -106,16 +106,17 @@ public class UniqueModListBuilder if (modInfoList.size() > 1) { LOGGER.debug("Found {} mods for first modid {}, selecting most recent based on version data", modInfoList.size(), fullList.getKey()); modInfoList.sort(Comparator.comparing(this::getVersion).reversed()); - LOGGER.debug("Selected file {} for modid {} with version {}", modInfoList.get(0).getFileName(), fullList.getKey(), modInfoList.get(0).getModInfos().get(0).getVersion()); + LOGGER.debug("Selected file {} for modid {} with version {}", modInfoList.get(0).getFileName(), fullList.getKey(), this.getVersion(modInfoList.get(0))); } return modInfoList.get(0); } private ArtifactVersion getVersion(final ModFile mf) { - if (mf.getModFileInfo() == null) { + if (mf.getModFileInfo() == null || mf.getModInfos() == null || mf.getModInfos().isEmpty()) { return mf.getJarVersion(); } + return mf.getModInfos().get(0).getVersion(); }