diff --git a/src/main/java/cpw/mods/fml/client/FMLClientHandler.java b/src/main/java/cpw/mods/fml/client/FMLClientHandler.java index 9f10b57277..8c4cf65543 100644 --- a/src/main/java/cpw/mods/fml/client/FMLClientHandler.java +++ b/src/main/java/cpw/mods/fml/client/FMLClientHandler.java @@ -227,6 +227,10 @@ 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) @@ -279,7 +283,8 @@ public class FMLClientHandler implements IFMLSidedHandler return; } - // Reload resources + // Reload resources has to happen early, or minecraft itself has resource loading issues + // This is a second refresh for mods that register stuff late! client.refreshResources(); RenderingRegistry.instance().loadEntityRenderers((Map, Render>)RenderManager.instance.entityRenderMap); guiFactories = HashBiMap.create(); @@ -564,12 +569,6 @@ public class FMLClientHandler implements IFMLSidedHandler } } - @Override - public void updateResourcePackList() - { - client.refreshResources(); - } - public IResourcePack getResourcePackFor(String modId) { return resourcePackMap.get(modId); diff --git a/src/main/java/cpw/mods/fml/common/FMLCommonHandler.java b/src/main/java/cpw/mods/fml/common/FMLCommonHandler.java index 44d563e019..906e8d45a0 100644 --- a/src/main/java/cpw/mods/fml/common/FMLCommonHandler.java +++ b/src/main/java/cpw/mods/fml/common/FMLCommonHandler.java @@ -514,11 +514,6 @@ public class FMLCommonHandler sidedDelegate.addModAsResource(container); } - public void updateResourcePackList() - { - sidedDelegate.updateResourcePackList(); - } - public String getCurrentLanguage() { diff --git a/src/main/java/cpw/mods/fml/common/IFMLSidedHandler.java b/src/main/java/cpw/mods/fml/common/IFMLSidedHandler.java index 0d4cf8b399..3ab8795ebf 100644 --- a/src/main/java/cpw/mods/fml/common/IFMLSidedHandler.java +++ b/src/main/java/cpw/mods/fml/common/IFMLSidedHandler.java @@ -46,8 +46,6 @@ public interface IFMLSidedHandler void addModAsResource(ModContainer container); - void updateResourcePackList(); - String getCurrentLanguage(); void serverStopped(); diff --git a/src/main/java/cpw/mods/fml/common/LoadController.java b/src/main/java/cpw/mods/fml/common/LoadController.java index bbee723abc..6c8b91576b 100644 --- a/src/main/java/cpw/mods/fml/common/LoadController.java +++ b/src/main/java/cpw/mods/fml/common/LoadController.java @@ -109,7 +109,6 @@ public class LoadController } eventChannels = eventBus.build(); - FMLCommonHandler.instance().updateResourcePackList(); } public void distributeStateMessage(LoaderState state, Object... eventData) diff --git a/src/main/java/cpw/mods/fml/server/FMLServerHandler.java b/src/main/java/cpw/mods/fml/server/FMLServerHandler.java index 726d7b3798..6e9c1913fc 100644 --- a/src/main/java/cpw/mods/fml/server/FMLServerHandler.java +++ b/src/main/java/cpw/mods/fml/server/FMLServerHandler.java @@ -34,6 +34,7 @@ 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; @@ -176,7 +177,8 @@ public class FMLServerHandler implements IFMLSidedHandler // rudimentary command processing, check for fml confirm/cancel and stop commands synchronized (dedServer.pendingCommandList) { - for (Iterator it = dedServer.pendingCommandList.iterator(); it.hasNext(); ) + + for (Iterator it = GenericIterableFactory.newCastingIterable(dedServer.pendingCommandList, ServerCommand.class).iterator(); it.hasNext();) { String cmd = it.next().command.trim().toLowerCase(); @@ -219,11 +221,6 @@ public class FMLServerHandler implements IFMLSidedHandler LanguageRegistry.instance().loadLanguagesFor(container, Side.SERVER); } - @Override - public void updateResourcePackList() - { - - } @Override public String getCurrentLanguage() {