using System; using System.Collections.Generic; using System.Linq; using System.Text; using MinecraftClient.Crypto; namespace MinecraftClient.Protocol { /// /// Interface for the Minecraft protocol handler. /// A protocol handler is used to communicate with the Minecraft server. /// This interface allows to abstract from the underlying minecraft version in other parts of the program. /// The protocol handler will take care of parsing and building the appropriate network packets. /// public interface IMinecraftCom : IDisposable, IAutoComplete { /// /// Start the login procedure once connected to the server /// /// True if login was successful bool Login(); /// /// Disconnect from the server /// /// Reason void Disconnect(); /// /// Send a chat message or command to the server /// /// Text to send /// True if successfully sent bool SendChatMessage(string message); /// /// Allow to respawn after death /// /// True if packet successfully sent bool SendRespawnPacket(); /// /// Tell the server what client is being used to connect to the server /// /// Client string describing the client /// True if brand info was successfully sent bool SendBrandInfo(string brandInfo); /// /// Send a plugin channel packet to the server. /// /// http://dinnerbone.com/blog/2012/01/13/minecraft-plugin-channels-messaging/ /// /// Channel to send packet on /// packet Data /// True if message was successfully sent bool SendPluginChannelPacket(string channel, byte[] data); } }