001 package cpw.mods.fml.common.modloader;
002
003 import net.minecraft.entity.player.EntityPlayer;
004 import net.minecraft.network.INetworkManager;
005 import net.minecraft.network.NetLoginHandler;
006 import net.minecraft.network.packet.NetHandler;
007 import net.minecraft.network.packet.Packet1Login;
008 import net.minecraft.server.MinecraftServer;
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, INetworkManager manager)
023 {
024 mod.onClientLogin((EntityPlayer)player);
025 }
026
027 @Override
028 public String connectionReceived(NetLoginHandler netHandler, INetworkManager manager)
029 {
030 return null;
031 }
032
033 @Override
034 public void connectionOpened(NetHandler netClientHandler, String server, int port, INetworkManager manager)
035 {
036 ModLoaderHelper.sidedHelper.clientConnectionOpened(netClientHandler, manager, mod);
037 }
038
039 @Override
040 public void connectionClosed(INetworkManager manager)
041 {
042 if (ModLoaderHelper.sidedHelper==null || !ModLoaderHelper.sidedHelper.clientConnectionClosed(manager, mod))
043 {
044 mod.serverDisconnect();
045 mod.onClientLogout(manager);
046 }
047 }
048
049 @Override
050 public void clientLoggedIn(NetHandler nh, INetworkManager manager, Packet1Login login)
051 {
052 mod.serverConnect(nh);
053 }
054
055 @Override
056 public void connectionOpened(NetHandler netClientHandler, MinecraftServer server, INetworkManager manager)
057 {
058 ModLoaderHelper.sidedHelper.clientConnectionOpened(netClientHandler, manager, mod);
059 }
060
061 }