package net.md_5.bungee.forge; import net.md_5.bungee.UserConnection; import net.md_5.bungee.protocol.packet.PluginMessage; /** * An interface that defines a Forge Handshake Client packet. * * @param <S> The State to transition to. */ public interface IForgeClientPacketHandler<S> { /** * Handles any {@link PluginMessage} packets. * * @param message The {@link PluginMessage} to handle. * @param con The {@link UserConnection} to send packets to. * @return The state to transition to. */ public S handle(PluginMessage message, UserConnection con); /** * Sends any {@link PluginMessage} packets. * * @param message The {@link PluginMessage} to send. * @param con The {@link UserConnection} to set data. * @return The state to transition to. */ public S send(PluginMessage message, UserConnection con); }