1
0
cuberite-2a/src/Protocol/Protocol18x.h

77 lines
1.7 KiB
C
Raw Normal View History

// Protocol18x.h
/*
Declares the 1.8.x protocol classes:
- cProtocol180
- release 1.8 protocol (#47)
(others may be added later in the future for the 1.8 release series)
*/
#pragma once
#include "Protocol.h"
#include "Protocol17x.h"
#include "../ByteBuffer.h"
#ifdef _MSC_VER
#pragma warning(push)
#pragma warning(disable:4127)
#pragma warning(disable:4244)
#pragma warning(disable:4231)
#pragma warning(disable:4189)
#pragma warning(disable:4702)
#endif
#ifdef _MSC_VER
#pragma warning(pop)
#endif
// fwd:
namespace Json
{
class Value;
}
class cProtocol180 :
public cProtocol176
{
typedef cProtocol176 super;
public:
cProtocol180(cClientHandle * a_Client, const AString & a_ServerAddress, UInt16 a_ServerPort, UInt32 a_State);
virtual void SendBlockChange(int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) override;
virtual void SendBlockChanges(int a_ChunkX, int a_ChunkZ, const sSetBlockVector & a_Changes) override;
virtual void SendChat(const AString & a_Message) override;
virtual void SendChat(const cCompositeChat & a_Message) override;
virtual void SendPlayerListItem(const cPlayer & a_Player, bool a_IsOnline) override {}
virtual void SendEntityEquipment(const cEntity & a_Entity, short a_SlotNum, const cItem & a_Item) override;
virtual void SendLogin(const cPlayer & a_Player, const cWorld & a_World) override;
protected:
virtual void HandlePacketStatusRequest(cByteBuffer & a_ByteBuffer) override;
// Packet handlers while in the Login state (m_State == 2):
virtual void HandlePacketLoginStart(cByteBuffer & a_ByteBuffer) override;
virtual void HandlePacketLoginEncryptionResponse(cByteBuffer & a_ByteBuffer) override;
} ;