From 0bdafb976e1397eee2fb6eedc4f5a7de82400b5c Mon Sep 17 00:00:00 2001 From: cpw Date: Sat, 26 Jan 2019 11:23:51 -0500 Subject: [PATCH] Fix handing the "minecraft" dependency properly by adding it to the list of mods. Signed-off-by: cpw --- .../java/net/minecraftforge/fml/loading/ModSorter.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/fmllauncher/java/net/minecraftforge/fml/loading/ModSorter.java b/src/fmllauncher/java/net/minecraftforge/fml/loading/ModSorter.java index 6fd7bb2e40..69ed15e08a 100644 --- a/src/fmllauncher/java/net/minecraftforge/fml/loading/ModSorter.java +++ b/src/fmllauncher/java/net/minecraftforge/fml/loading/ModSorter.java @@ -19,6 +19,7 @@ package net.minecraftforge.fml.loading; +import com.google.common.collect.Streams; import com.google.common.graph.GraphBuilder; import com.google.common.graph.MutableGraph; import net.minecraftforge.forgespi.language.IModFileInfo; @@ -77,9 +78,10 @@ public class ModSorter } private void findLanguages() { - modFiles.stream().forEach(mf->mf.identifyLanguage()); + modFiles.forEach(ModFile::identifyLanguage); } + @SuppressWarnings("UnstableApiUsage") private void sort() { // lambdas are identity based, so sorting them is impossible unless you hold reference to them @@ -118,6 +120,7 @@ public class ModSorter this.modFiles = sorted.stream().map(ModFileInfo::getFile).collect(Collectors.toList()); } + @SuppressWarnings("UnstableApiUsage") private void addDependency(MutableGraph topoGraph, IModInfo.ModVersion dep) { ModFileInfo self = (ModFileInfo)dep.getOwner().getOwningFile(); @@ -138,7 +141,7 @@ public class ModSorter private void buildUniqueList() { - final Stream modInfos = modFiles.stream().map(ModFile::getModInfos).flatMap(Collection::stream).map(ModInfo.class::cast); + final Stream modInfos = Stream.concat(DefaultModInfos.getModInfos().stream(), modFiles.stream().map(ModFile::getModInfos).flatMap(Collection::stream)).map(ModInfo.class::cast); final Map> modIds = modInfos.collect(Collectors.groupingBy(IModInfo::getModId)); // TODO: make this figure out dupe handling better