From 675c58a437f68b42f9daa7bfc4b143d0003f7dba Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Wed, 27 Dec 2023 16:13:45 -0500 Subject: [PATCH] Only call put on the model map if the replacement model is different --- .../modernfix/forge/dynresources/ModelBakeEventHelper.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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 0e3dfca6..0aeb9fac 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 @@ -156,7 +156,11 @@ public class ModelBakeEventHelper { ModernFix.LOGGER.warn("Mod '{}' is calling replaceAll on the model registry. This requires temporarily loading every model for that mod, which is slow.", modId); List locations = new ArrayList<>(keySet()); for(ResourceLocation location : locations) { - put(location, function.apply(location, get(location))); + BakedModel existing = get(location); + BakedModel replacement = function.apply(location, existing); + if(replacement != existing) { + put(location, replacement); + } } } };