From d1863cc66e77934e60fc402ddb290ff87ca420ad Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Wed, 27 Dec 2023 16:06:22 -0500 Subject: [PATCH] Make replaceAll implementation more robust, add warning --- .../modernfix/forge/dynresources/ModelBakeEventHelper.java | 4 +++- 1 file changed, 3 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 ee98dc5e..0e3dfca6 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 @@ -153,7 +153,9 @@ public class ModelBakeEventHelper { @Override public void replaceAll(BiFunction function) { - for(ResourceLocation location : keySet()) { + 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))); } }