From 7e7b855ddf2daaa472f31b933c820d24817ee71e Mon Sep 17 00:00:00 2001 From: RainWarrior Date: Tue, 9 Feb 2016 16:09:55 +0300 Subject: [PATCH] Fix multiple registrations of reloading hooks in custom model loaders. --- .../client/model/ModelLoaderRegistry.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/main/java/net/minecraftforge/client/model/ModelLoaderRegistry.java b/src/main/java/net/minecraftforge/client/model/ModelLoaderRegistry.java index 09d43a822..c4704dc13 100644 --- a/src/main/java/net/minecraftforge/client/model/ModelLoaderRegistry.java +++ b/src/main/java/net/minecraftforge/client/model/ModelLoaderRegistry.java @@ -26,6 +26,7 @@ public class ModelLoaderRegistry { private static final Set loaders = new HashSet(); private static final Map cache = new HashMap(); + private static boolean registered = false; // Forge built-in loaders static @@ -44,13 +45,17 @@ public class ModelLoaderRegistry public static void registerLoader(ICustomModelLoader loader) { loaders.add(loader); - ((IReloadableResourceManager)Minecraft.getMinecraft().getResourceManager()).registerReloadListener(new IResourceManagerReloadListener() + if(!registered) { - public void onResourceManagerReload(IResourceManager manager) + ((IReloadableResourceManager) Minecraft.getMinecraft().getResourceManager()).registerReloadListener(new IResourceManagerReloadListener() { - for(ICustomModelLoader loader : loaders) loader.onResourceManagerReload(manager); - } - }); + public void onResourceManagerReload(IResourceManager manager) + { + for (ICustomModelLoader loader : loaders) loader.onResourceManagerReload(manager); + } + }); + registered = true; + } } public static boolean loaded(ResourceLocation location)