From 157f1c6688db8abe72c93a292f43d5a04040e0a4 Mon Sep 17 00:00:00 2001 From: Howaner Date: Thu, 4 Sep 2014 00:29:36 +0200 Subject: Started implementing of the 1.8 protocol. --- src/Protocol/Protocol18x.h | 76 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 src/Protocol/Protocol18x.h (limited to 'src/Protocol/Protocol18x.h') diff --git a/src/Protocol/Protocol18x.h b/src/Protocol/Protocol18x.h new file mode 100644 index 000000000..11a376b17 --- /dev/null +++ b/src/Protocol/Protocol18x.h @@ -0,0 +1,76 @@ + +// 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; +} ; + + + + -- cgit v1.2.3