001 package cpw.mods.fml.common.network;
002
003 import net.minecraft.network.INetworkManager;
004 import net.minecraft.network.NetLoginHandler;
005 import net.minecraft.network.packet.NetHandler;
006 import net.minecraft.network.packet.Packet1Login;
007 import net.minecraft.server.MinecraftServer;
008
009 public interface IConnectionHandler
010 {
011 /**
012 * Called when a player logs into the server
013 * SERVER SIDE
014 *
015 * @param player
016 * @param netHandler
017 * @param manager
018 */
019 void playerLoggedIn(Player player, NetHandler netHandler, INetworkManager manager);
020
021 /**
022 * If you don't want the connection to continue, return a non-empty string here
023 * If you do, you can do other stuff here- note no FML negotiation has occured yet
024 * though the client is verified as having FML installed
025 *
026 * SERVER SIDE
027 *
028 * @param netHandler
029 * @param manager
030 */
031 String connectionReceived(NetLoginHandler netHandler, INetworkManager manager);
032
033 /**
034 * Fired when a remote connection is opened
035 * CLIENT SIDE
036 *
037 * @param netClientHandler
038 * @param server
039 * @param port
040 */
041 void connectionOpened(NetHandler netClientHandler, String server, int port, INetworkManager manager);
042 /**
043 *
044 * Fired when a local connection is opened
045 *
046 * CLIENT SIDE
047 *
048 * @param netClientHandler
049 * @param server
050 */
051 void connectionOpened(NetHandler netClientHandler, MinecraftServer server, INetworkManager manager);
052
053 /**
054 * Fired when a connection closes
055 *
056 * ALL SIDES
057 *
058 * @param manager
059 */
060 void connectionClosed(INetworkManager manager);
061
062 /**
063 * Fired when the client established the connection to the server
064 *
065 * CLIENT SIDE
066 * @param clientHandler
067 * @param manager
068 * @param login
069 */
070 void clientLoggedIn(NetHandler clientHandler, INetworkManager manager, Packet1Login login);
071
072 }