From 0ac9cedc81ff70fc9f0190cab8853212da16752d Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Sun, 12 Jan 2025 15:49:27 -0500 Subject: [PATCH] Prevent mods from modifying the mod list --- loader/src/main/java/net/neoforged/fml/ModList.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/loader/src/main/java/net/neoforged/fml/ModList.java b/loader/src/main/java/net/neoforged/fml/ModList.java index 8c309a34e..9de555ba9 100644 --- a/loader/src/main/java/net/neoforged/fml/ModList.java +++ b/loader/src/main/java/net/neoforged/fml/ModList.java @@ -9,6 +9,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; +import java.util.Collections; import java.util.Comparator; import java.util.List; import java.util.Locale; @@ -46,9 +47,9 @@ public class ModList { private List sortedContainers; private ModList(final List modFiles, final List sortedList) { - this.modFiles = modFiles.stream().map(ModFile::getModFileInfo).map(ModFileInfo.class::cast).collect(Collectors.toList()); - this.sortedList = sortedList.stream().map(ModInfo.class::cast).collect(Collectors.toList()); - this.fileById = this.modFiles.stream().map(IModFileInfo::getMods).flatMap(Collection::stream).map(ModInfo.class::cast).collect(Collectors.toMap(ModInfo::getModId, ModInfo::getOwningFile)); + this.modFiles = modFiles.stream().map(ModFile::getModFileInfo).toList(); + this.sortedList = sortedList.stream().map(IModInfo.class::cast).toList(); + this.fileById = Collections.unmodifiableMap(this.modFiles.stream().map(IModFileInfo::getMods).flatMap(Collection::stream).map(ModInfo.class::cast).collect(Collectors.toMap(ModInfo::getModId, ModInfo::getOwningFile))); CrashReportCallables.registerCrashCallable("Mod List", this::crashReport); }