001    package cpw.mods.fml.common.modloader;
002    
003    import net.minecraft.server.MinecraftServer;
004    import net.minecraft.src.EntityPlayer;
005    import net.minecraft.src.NetHandler;
006    import net.minecraft.src.NetLoginHandler;
007    import net.minecraft.src.NetworkManager;
008    import net.minecraft.src.Packet1Login;
009    import cpw.mods.fml.common.network.IConnectionHandler;
010    import cpw.mods.fml.common.network.Player;
011    
012    public class ModLoaderConnectionHandler implements IConnectionHandler
013    {
014        private BaseModProxy mod;
015    
016        public ModLoaderConnectionHandler(BaseModProxy mod)
017        {
018            this.mod = mod;
019        }
020    
021        @Override
022        public void playerLoggedIn(Player player, NetHandler netHandler, NetworkManager manager)
023        {
024            mod.onClientLogin((EntityPlayer)player);
025        }
026    
027        @Override
028        public String connectionReceived(NetLoginHandler netHandler, NetworkManager manager)
029        {
030            return null;
031        }
032    
033        @Override
034        public void connectionOpened(NetHandler netClientHandler, String server, int port, NetworkManager manager)
035        {
036            // noop
037        }
038    
039        @Override
040        public void connectionClosed(NetworkManager manager)
041        {
042            mod.serverDisconnect();
043            mod.onClientLogout(manager);
044        }
045    
046        @Override
047        public void clientLoggedIn(NetHandler nh, NetworkManager manager, Packet1Login login)
048        {
049            mod.serverConnect(nh);
050        }
051    
052        @Override
053        public void connectionOpened(NetHandler netClientHandler, MinecraftServer server, NetworkManager manager)
054        {
055            // noop
056        }
057    
058    }