diff --git a/fml/src/main/java/cpw/mods/fml/client/FMLClientHandler.java b/fml/src/main/java/cpw/mods/fml/client/FMLClientHandler.java index 25334f9a3b..fdf9697465 100644 --- a/fml/src/main/java/cpw/mods/fml/client/FMLClientHandler.java +++ b/fml/src/main/java/cpw/mods/fml/client/FMLClientHandler.java @@ -229,10 +229,6 @@ public class FMLClientHandler implements IFMLSidedHandler haltGame("There was a severe problem during mod loading that has caused the game to fail", le); return; } - finally - { - client.refreshResources(); - } Map> sharedModList = (Map>) Launch.blackboard.get("modList"); if (sharedModList == null) @@ -285,8 +281,7 @@ public class FMLClientHandler implements IFMLSidedHandler return; } - // Reload resources has to happen early, or minecraft itself has resource loading issues - // This is a second refresh for mods that register stuff late! + // Reload resources client.refreshResources(); RenderingRegistry.instance().loadEntityRenderers((Map, Render>)RenderManager.instance.entityRenderMap); guiFactories = HashBiMap.create(); @@ -571,6 +566,12 @@ public class FMLClientHandler implements IFMLSidedHandler } } + @Override + public void updateResourcePackList() + { + client.refreshResources(); + } + public IResourcePack getResourcePackFor(String modId) { return resourcePackMap.get(modId); diff --git a/fml/src/main/java/cpw/mods/fml/common/FMLCommonHandler.java b/fml/src/main/java/cpw/mods/fml/common/FMLCommonHandler.java index 906e8d45a0..44d563e019 100644 --- a/fml/src/main/java/cpw/mods/fml/common/FMLCommonHandler.java +++ b/fml/src/main/java/cpw/mods/fml/common/FMLCommonHandler.java @@ -514,6 +514,11 @@ public class FMLCommonHandler sidedDelegate.addModAsResource(container); } + public void updateResourcePackList() + { + sidedDelegate.updateResourcePackList(); + } + public String getCurrentLanguage() { diff --git a/fml/src/main/java/cpw/mods/fml/common/IFMLSidedHandler.java b/fml/src/main/java/cpw/mods/fml/common/IFMLSidedHandler.java index 3ab8795ebf..0d4cf8b399 100644 --- a/fml/src/main/java/cpw/mods/fml/common/IFMLSidedHandler.java +++ b/fml/src/main/java/cpw/mods/fml/common/IFMLSidedHandler.java @@ -46,6 +46,8 @@ public interface IFMLSidedHandler void addModAsResource(ModContainer container); + void updateResourcePackList(); + String getCurrentLanguage(); void serverStopped(); diff --git a/fml/src/main/java/cpw/mods/fml/common/LoadController.java b/fml/src/main/java/cpw/mods/fml/common/LoadController.java index 6c8b91576b..bbee723abc 100644 --- a/fml/src/main/java/cpw/mods/fml/common/LoadController.java +++ b/fml/src/main/java/cpw/mods/fml/common/LoadController.java @@ -109,6 +109,7 @@ public class LoadController } eventChannels = eventBus.build(); + FMLCommonHandler.instance().updateResourcePackList(); } public void distributeStateMessage(LoaderState state, Object... eventData) diff --git a/fml/src/main/java/cpw/mods/fml/server/FMLServerHandler.java b/fml/src/main/java/cpw/mods/fml/server/FMLServerHandler.java index 6e9c1913fc..726d7b3798 100644 --- a/fml/src/main/java/cpw/mods/fml/server/FMLServerHandler.java +++ b/fml/src/main/java/cpw/mods/fml/server/FMLServerHandler.java @@ -34,7 +34,6 @@ import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.ModContainer; import cpw.mods.fml.common.StartupQuery; import cpw.mods.fml.common.eventhandler.EventBus; -import cpw.mods.fml.common.functions.GenericIterableFactory; import cpw.mods.fml.common.network.FMLNetworkEvent; import cpw.mods.fml.common.registry.LanguageRegistry; import cpw.mods.fml.relauncher.Side; @@ -177,8 +176,7 @@ public class FMLServerHandler implements IFMLSidedHandler // rudimentary command processing, check for fml confirm/cancel and stop commands synchronized (dedServer.pendingCommandList) { - - for (Iterator it = GenericIterableFactory.newCastingIterable(dedServer.pendingCommandList, ServerCommand.class).iterator(); it.hasNext();) + for (Iterator it = dedServer.pendingCommandList.iterator(); it.hasNext(); ) { String cmd = it.next().command.trim().toLowerCase(); @@ -221,6 +219,11 @@ public class FMLServerHandler implements IFMLSidedHandler LanguageRegistry.instance().loadLanguagesFor(container, Side.SERVER); } + @Override + public void updateResourcePackList() + { + + } @Override public String getCurrentLanguage() {