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();
}
}