From 373a10f12c4c74768e57f8cad433a9cd0c48720f Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Sat, 22 Jul 2023 11:06:11 -0400 Subject: [PATCH] Fix crash with dynamic resources if mods depend on themselves --- .../forge/dynresources/ModelBakeEventHelper.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/dynresources/ModelBakeEventHelper.java b/forge/src/main/java/org/embeddedt/modernfix/forge/dynresources/ModelBakeEventHelper.java index 0e81d4ae..ffe4cc87 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/dynresources/ModelBakeEventHelper.java +++ b/forge/src/main/java/org/embeddedt/modernfix/forge/dynresources/ModelBakeEventHelper.java @@ -17,10 +17,7 @@ import net.minecraftforge.registries.ForgeRegistries; import org.embeddedt.modernfix.dynamicresources.ModelLocationCache; import org.jetbrains.annotations.Nullable; -import java.util.HashSet; -import java.util.Map; -import java.util.Optional; -import java.util.Set; +import java.util.*; /** * Stores a list of all known default block/item models in the game, and provides a namespaced version @@ -54,7 +51,9 @@ public class ModelBakeEventHelper { Optional mContainer = ModList.get().getModContainerById(id); if(mContainer.isPresent()) { for(IModInfo.ModVersion version : mContainer.get().getModInfo().getDependencies()) { - this.dependencyGraph.putEdge(id, version.getModId()); + // avoid self-loops + if(!Objects.equals(id, version.getModId())) + this.dependencyGraph.putEdge(id, version.getModId()); } } }