Cuberite
A lightweight, fast and extensible game server for Minecraft
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Types | List of all members
cProtocolRecognizer Class Reference

Meta-protocol that recognizes multiple protocol versions, creates the specific protocol version instance and redirects everything to it. More...

#include <ProtocolRecognizer.h>

Inheritance diagram for cProtocolRecognizer:
Inheritance graph
[legend]
Collaboration diagram for cProtocolRecognizer:
Collaboration graph
[legend]

Public Types

enum  {
  PROTO_VERSION_1_8_0 = 47, PROTO_VERSION_1_9_0 = 107, PROTO_VERSION_1_9_1 = 108, PROTO_VERSION_1_9_2 = 109,
  PROTO_VERSION_1_9_4 = 110, PROTO_VERSION_1_10_0 = 210, PROTO_VERSION_1_11_0 = 315, PROTO_VERSION_1_11_1 = 316,
  PROTO_VERSION_1_12 = 335, PROTO_VERSION_1_12_1 = 338, PROTO_VERSION_1_12_2 = 340, PROTO_VERSION_1_13 = 393
}
 
- Public Types inherited from cProtocol
enum  ePacketType {
  pktAttachEntity = 0, pktBlockAction, pktBlockBreakAnim, pktBlockChange,
  pktBlockChanges, pktCameraSetTo, pktChatRaw, pktCollectEntity,
  pktDestroyEntity, pktDifficulty, pktDisconnectDuringLogin, pktDisconnectDuringGame,
  pktDisplayObjective, pktEditSign, pktEncryptionRequest, pktEntityAnimation,
  pktEntityEffect, pktEntityEquipment, pktEntityHeadLook, pktEntityLook,
  pktEntityMeta, pktEntityProperties, pktEntityRelMove, pktEntityRelMoveLook,
  pktEntityStatus, pktEntityVelocity, pktExperience, pktExplosion,
  pktGameMode, pktHeldItemChange, pktInventorySlot, pktJoinGame,
  pktKeepAlive, pktLeashEntity, pktLoginSuccess, pktMapData,
  pktParticleEffect, pktPingResponse, pktPlayerAbilities, pktPlayerList,
  pktPlayerMaxSpeed, pktPlayerMoveLook, pktPluginMessage, pktRemoveEntityEffect,
  pktRespawn, pktScoreboardObjective, pktSpawnObject, pktSoundEffect,
  pktSoundParticleEffect, pktSpawnExperienceOrb, pktSpawnGlobalEntity, pktSpawnMob,
  pktSpawnOtherPlayer, pktSpawnPainting, pktSpawnPosition, pktStartCompression,
  pktStatistics, pktStatusResponse, pktTabCompletionResults, pktTeleportEntity,
  pktTimeUpdate, pktTitle, pktUnloadChunk, pktUpdateBlockEntity,
  pktUpdateHealth, pktUpdateScore, pktUpdateSign, pktUseBed,
  pktWeather, pktWindowItems, pktWindowClose, pktWindowOpen,
  pktWindowProperty
}
 Logical types of outgoing packets. More...
 

Public Member Functions

 cProtocolRecognizer (cClientHandle *a_Client)
 
virtual void DataReceived (const char *a_Data, size_t a_Size) override
 Called when client sends some data: More...
 
virtual AString GetAuthServerID (void) override
 Returns the ServerID used for authentication through session.minecraft.net. More...
 
virtual void SendAttachEntity (const cEntity &a_Entity, const cEntity &a_Vehicle) override
 Sending stuff to clients (alphabetically sorted): More...
 
virtual void SendBlockAction (int a_BlockX, int a_BlockY, int a_BlockZ, char a_Byte1, char a_Byte2, BLOCKTYPE a_BlockType) override
 
virtual void SendBlockBreakAnim (UInt32 a_EntityID, int a_BlockX, int a_BlockY, int a_BlockZ, char a_Stage) override
 
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 SendCameraSetTo (const cEntity &a_Entity) override
 
virtual void SendChat (const AString &a_Message, eChatType a_Type) override
 
virtual void SendChat (const cCompositeChat &a_Message, eChatType a_Type, bool a_ShouldUseChatPrefixes) override
 
virtual void SendChatRaw (const AString &a_MessageRaw, eChatType a_Type) override
 
virtual void SendChunkData (int a_ChunkX, int a_ChunkZ, cChunkDataSerializer &a_Serializer) override
 
virtual void SendCollectEntity (const cEntity &a_Entity, const cPlayer &a_Player, int a_Count) override
 
virtual void SendData (const char *a_Data, size_t a_Size) override
 A generic data-sending routine, all outgoing packet data needs to be routed through this so that descendants may override it. More...
 
virtual void SendDestroyEntity (const cEntity &a_Entity) override
 
virtual void SendDetachEntity (const cEntity &a_Entity, const cEntity &a_PreviousVehicle) override
 
virtual void SendDisconnect (const AString &a_Reason) override
 
virtual void SendDisplayObjective (const AString &a_Objective, cScoreboard::eDisplaySlot a_Display) override
 
virtual void SendEditSign (int a_BlockX, int a_BlockY, int a_BlockZ) override
 Request the client to open up the sign editor for the sign (1.6+) More...
 
virtual void SendEntityAnimation (const cEntity &a_Entity, char a_Animation) override
 
virtual void SendEntityEffect (const cEntity &a_Entity, int a_EffectID, int a_Amplifier, int a_Duration) override
 
virtual void SendEntityEquipment (const cEntity &a_Entity, short a_SlotNum, const cItem &a_Item) override
 
virtual void SendEntityHeadLook (const cEntity &a_Entity) override
 
virtual void SendEntityLook (const cEntity &a_Entity) override
 
virtual void SendEntityMetadata (const cEntity &a_Entity) override
 
virtual void SendEntityProperties (const cEntity &a_Entity) override
 
virtual void SendEntityRelMove (const cEntity &a_Entity, char a_RelX, char a_RelY, char a_RelZ) override
 
virtual void SendEntityRelMoveLook (const cEntity &a_Entity, char a_RelX, char a_RelY, char a_RelZ) override
 
virtual void SendEntityStatus (const cEntity &a_Entity, char a_Status) override
 
virtual void SendEntityVelocity (const cEntity &a_Entity) override
 
virtual void SendExperience (void) override
 
virtual void SendExperienceOrb (const cExpOrb &a_ExpOrb) override
 
virtual void SendExplosion (double a_BlockX, double a_BlockY, double a_BlockZ, float a_Radius, const cVector3iArray &a_BlocksAffected, const Vector3d &a_PlayerMotion) override
 
virtual void SendGameMode (eGameMode a_GameMode) override
 
virtual void SendHealth (void) override
 
virtual void SendHeldItemChange (int a_ItemIndex) override
 
virtual void SendHideTitle (void) override
 
virtual void SendInventorySlot (char a_WindowID, short a_SlotNum, const cItem &a_Item) override
 
virtual void SendKeepAlive (UInt32 a_PingID) override
 
virtual void SendLeashEntity (const cEntity &a_Entity, const cEntity &a_EntityLeashedTo) override
 
virtual void SendLogin (const cPlayer &a_Player, const cWorld &a_World) override
 
virtual void SendLoginSuccess (void) override
 
virtual void SendMapData (const cMap &a_Map, int a_DataStartX, int a_DataStartY) override
 
virtual void SendPaintingSpawn (const cPainting &a_Painting) override
 
virtual void SendParticleEffect (const AString &a_ParticleName, float a_SrcX, float a_SrcY, float a_SrcZ, float a_OffsetX, float a_OffsetY, float a_OffsetZ, float a_ParticleData, int a_ParticleAmount) override
 
virtual void SendParticleEffect (const AString &a_ParticleName, Vector3f a_Src, Vector3f a_Offset, float a_ParticleData, int a_ParticleAmount, std::array< int, 2 > a_Data) override
 
virtual void SendPickupSpawn (const cPickup &a_Pickup) override
 
virtual void SendPlayerAbilities (void) override
 
virtual void SendPlayerListAddPlayer (const cPlayer &a_Player) override
 
virtual void SendPlayerListRemovePlayer (const cPlayer &a_Player) override
 
virtual void SendPlayerListUpdateDisplayName (const cPlayer &a_Player, const AString &a_CustomName) override
 
virtual void SendPlayerListUpdateGameMode (const cPlayer &a_Player) override
 
virtual void SendPlayerListUpdatePing (const cPlayer &a_Player) override
 
virtual void SendPlayerMaxSpeed (void) override
 Informs the client of the maximum player speed (1.6.1+) More...
 
virtual void SendPlayerMoveLook (void) override
 
virtual void SendPlayerPosition (void) override
 
virtual void SendPlayerSpawn (const cPlayer &a_Player) override
 
virtual void SendPluginMessage (const AString &a_Channel, const AString &a_Message) override
 
virtual void SendRemoveEntityEffect (const cEntity &a_Entity, int a_EffectID) override
 
virtual void SendResetTitle (void) override
 
virtual void SendRespawn (eDimension a_Dimension) override
 
virtual void SendScoreboardObjective (const AString &a_Name, const AString &a_DisplayName, Byte a_Mode) override
 
virtual void SendScoreUpdate (const AString &a_Objective, const AString &a_Player, cObjective::Score a_Score, Byte a_Mode) override
 
virtual void SendSetRawSubTitle (const AString &a_SubTitle) override
 
virtual void SendSetRawTitle (const AString &a_Title) override
 
virtual void SendSetSubTitle (const cCompositeChat &a_SubTitle) override
 
virtual void SendSetTitle (const cCompositeChat &a_Title) override
 
virtual void SendSoundEffect (const AString &a_SoundName, double a_X, double a_Y, double a_Z, float a_Volume, float a_Pitch) override
 
virtual void SendSoundParticleEffect (const EffectID a_EffectID, int a_SrcX, int a_SrcY, int a_SrcZ, int a_Data) override
 
virtual void SendSpawnFallingBlock (const cFallingBlock &a_FallingBlock) override
 
virtual void SendSpawnMob (const cMonster &a_Mob) override
 
virtual void SendSpawnObject (const cEntity &a_Entity, char a_ObjectType, int a_ObjectData, Byte a_Yaw, Byte a_Pitch) override
 
virtual void SendSpawnVehicle (const cEntity &a_Vehicle, char a_VehicleType, char a_VehicleSubType) override
 
virtual void SendStatistics (const cStatManager &a_Manager) override
 
virtual void SendTabCompletionResults (const AStringVector &a_Results) override
 
virtual void SendTeleportEntity (const cEntity &a_Entity) override
 
virtual void SendThunderbolt (int a_BlockX, int a_BlockY, int a_BlockZ) override
 
virtual void SendTimeUpdate (Int64 a_WorldAge, Int64 a_TimeOfDay, bool a_DoDaylightCycle) override
 
virtual void SendTitleTimes (int a_FadeInTicks, int a_DisplayTicks, int a_FadeOutTicks) override
 
virtual void SendUnleashEntity (const cEntity &a_Entity) override
 
virtual void SendUnloadChunk (int a_ChunkX, int a_ChunkZ) override
 
virtual void SendUpdateBlockEntity (cBlockEntity &a_BlockEntity) override
 
virtual void SendUpdateSign (int a_BlockX, int a_BlockY, int a_BlockZ, const AString &a_Line1, const AString &a_Line2, const AString &a_Line3, const AString &a_Line4) override
 
virtual void SendUseBed (const cEntity &a_Entity, int a_BlockX, int a_BlockY, int a_BlockZ) override
 
virtual void SendWeather (eWeather a_Weather) override
 
virtual void SendWholeInventory (const cWindow &a_Window) override
 
virtual void SendWindowClose (const cWindow &a_Window) override
 
virtual void SendWindowOpen (const cWindow &a_Window) override
 
virtual void SendWindowProperty (const cWindow &a_Window, short a_Property, short a_Value) override
 
virtual ~cProtocolRecognizer () override
 
- Public Member Functions inherited from cProtocol
 cProtocol (cClientHandle *a_Client)
 
virtual void Initialize (cClientHandle &a_Client)
 Called after construction so that the protocol class can initialize itself. More...
 
virtual ~cProtocol ()
 

Static Public Member Functions

static AString GetVersionTextFromInt (int a_ProtocolVersion)
 Translates protocol version number into protocol version text: 49 -> "1.4.4". More...
 

Protected Member Functions

virtual UInt32 GetPacketID (ePacketType a_PacketType) override
 Returns the protocol-specific packet ID given the protocol-agnostic packet enum. More...
 
void HandlePacketStatusPing ()
 
void HandlePacketStatusRequest ()
 
virtual void SendPacket (cPacketizer &a_Pkt) override
 Sends a single packet contained within the cPacketizer class. More...
 
bool TryRecognizeLengthedProtocol (UInt32 a_PacketLengthRemaining)
 Tries to recognize a protocol in the lengthed family (1.7+), based on m_Buffer; returns true if recognized. More...
 
bool TryRecognizeProtocol (void)
 Tries to recognize protocol based on m_Buffer contents; returns true if recognized. More...
 

Protected Attributes

cByteBuffer m_Buffer
 Buffer for the incoming data until we recognize the protocol. More...
 
bool m_InPingForUnrecognizedVersion
 Is a server list ping for an unrecognized version currently occuring? More...
 
std::unique_ptr< cProtocolm_Protocol
 The recognized protocol. More...
 
- Protected Attributes inherited from cProtocol
cClientHandlem_Client
 
cCriticalSection m_CSPacket
 Provides synchronization for sending the entire packet at once. More...
 
cByteBuffer m_OutPacketBuffer
 Buffer for composing the outgoing packets, through cPacketizer. More...
 
cByteBuffer m_OutPacketLenBuffer
 Buffer for composing packet length (so that each cPacketizer instance doesn't allocate a new cPacketBuffer) More...
 

Private Types

typedef cProtocol super
 

Detailed Description

Meta-protocol that recognizes multiple protocol versions, creates the specific protocol version instance and redirects everything to it.

Definition at line 21 of file ProtocolRecognizer.h.

Member Typedef Documentation

Definition at line 24 of file ProtocolRecognizer.h.

Member Enumeration Documentation

anonymous enum
Enumerator
PROTO_VERSION_1_8_0 
PROTO_VERSION_1_9_0 
PROTO_VERSION_1_9_1 
PROTO_VERSION_1_9_2 
PROTO_VERSION_1_9_4 
PROTO_VERSION_1_10_0 
PROTO_VERSION_1_11_0 
PROTO_VERSION_1_11_1 
PROTO_VERSION_1_12 
PROTO_VERSION_1_12_1 
PROTO_VERSION_1_12_2 
PROTO_VERSION_1_13 

Definition at line 27 of file ProtocolRecognizer.h.

Constructor & Destructor Documentation

cProtocolRecognizer::cProtocolRecognizer ( cClientHandle a_Client)

Definition at line 28 of file ProtocolRecognizer.cpp.

virtual cProtocolRecognizer::~cProtocolRecognizer ( )
inlineoverridevirtual

Definition at line 44 of file ProtocolRecognizer.h.

Member Function Documentation

void cProtocolRecognizer::DataReceived ( const char *  a_Data,
size_t  a_Size 
)
overridevirtual

Called when client sends some data:

Implements cProtocol.

Definition at line 63 of file ProtocolRecognizer.cpp.

AString cProtocolRecognizer::GetAuthServerID ( void  )
overridevirtual

Returns the ServerID used for authentication through session.minecraft.net.

Implements cProtocol.

Definition at line 1003 of file ProtocolRecognizer.cpp.

UInt32 cProtocolRecognizer::GetPacketID ( ePacketType  a_PacketType)
overrideprotectedvirtual

Returns the protocol-specific packet ID given the protocol-agnostic packet enum.

Implements cProtocol.

Definition at line 1212 of file ProtocolRecognizer.cpp.

AString cProtocolRecognizer::GetVersionTextFromInt ( int  a_ProtocolVersion)
static

Translates protocol version number into protocol version text: 49 -> "1.4.4".

Definition at line 39 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::HandlePacketStatusPing ( )
protected

Definition at line 1276 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::HandlePacketStatusRequest ( void  )
protected

Definition at line 1231 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendAttachEntity ( const cEntity a_Entity,
const cEntity a_Vehicle 
)
overridevirtual

Sending stuff to clients (alphabetically sorted):

Implements cProtocol.

Definition at line 136 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendBlockAction ( int  a_BlockX,
int  a_BlockY,
int  a_BlockZ,
char  a_Byte1,
char  a_Byte2,
BLOCKTYPE  a_BlockType 
)
overridevirtual

Implements cProtocol.

Definition at line 146 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendBlockBreakAnim ( UInt32  a_EntityID,
int  a_BlockX,
int  a_BlockY,
int  a_BlockZ,
char  a_Stage 
)
overridevirtual

Implements cProtocol.

Definition at line 156 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendBlockChange ( int  a_BlockX,
int  a_BlockY,
int  a_BlockZ,
BLOCKTYPE  a_BlockType,
NIBBLETYPE  a_BlockMeta 
)
overridevirtual

Implements cProtocol.

Definition at line 166 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendBlockChanges ( int  a_ChunkX,
int  a_ChunkZ,
const sSetBlockVector a_Changes 
)
overridevirtual

Implements cProtocol.

Definition at line 176 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendCameraSetTo ( const cEntity a_Entity)
overridevirtual

Implements cProtocol.

Definition at line 186 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendChat ( const AString a_Message,
eChatType  a_Type 
)
overridevirtual

Implements cProtocol.

Definition at line 196 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendChat ( const cCompositeChat a_Message,
eChatType  a_Type,
bool  a_ShouldUseChatPrefixes 
)
overridevirtual

Implements cProtocol.

Definition at line 206 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendChatRaw ( const AString a_MessageRaw,
eChatType  a_Type 
)
overridevirtual

Implements cProtocol.

Definition at line 216 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendChunkData ( int  a_ChunkX,
int  a_ChunkZ,
cChunkDataSerializer a_Serializer 
)
overridevirtual

Implements cProtocol.

Definition at line 226 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendCollectEntity ( const cEntity a_Entity,
const cPlayer a_Player,
int  a_Count 
)
overridevirtual

Implements cProtocol.

Definition at line 236 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendData ( const char *  a_Data,
size_t  a_Size 
)
overridevirtual

A generic data-sending routine, all outgoing packet data needs to be routed through this so that descendants may override it.

Implements cProtocol.

Definition at line 1013 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendDestroyEntity ( const cEntity a_Entity)
overridevirtual

Implements cProtocol.

Definition at line 246 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendDetachEntity ( const cEntity a_Entity,
const cEntity a_PreviousVehicle 
)
overridevirtual

Implements cProtocol.

Definition at line 256 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendDisconnect ( const AString a_Reason)
overridevirtual

Implements cProtocol.

Definition at line 266 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendDisplayObjective ( const AString a_Objective,
cScoreboard::eDisplaySlot  a_Display 
)
overridevirtual

Implements cProtocol.

Definition at line 753 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendEditSign ( int  a_BlockX,
int  a_BlockY,
int  a_BlockZ 
)
overridevirtual

Request the client to open up the sign editor for the sign (1.6+)

Implements cProtocol.

Definition at line 284 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendEntityAnimation ( const cEntity a_Entity,
char  a_Animation 
)
overridevirtual

Implements cProtocol.

Definition at line 573 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendEntityEffect ( const cEntity a_Entity,
int  a_EffectID,
int  a_Amplifier,
int  a_Duration 
)
overridevirtual

Implements cProtocol.

Definition at line 294 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendEntityEquipment ( const cEntity a_Entity,
short  a_SlotNum,
const cItem a_Item 
)
overridevirtual

Implements cProtocol.

Definition at line 304 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendEntityHeadLook ( const cEntity a_Entity)
overridevirtual

Implements cProtocol.

Definition at line 314 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendEntityLook ( const cEntity a_Entity)
overridevirtual

Implements cProtocol.

Definition at line 324 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendEntityMetadata ( const cEntity a_Entity)
overridevirtual

Implements cProtocol.

Definition at line 334 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendEntityProperties ( const cEntity a_Entity)
overridevirtual

Implements cProtocol.

Definition at line 344 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendEntityRelMove ( const cEntity a_Entity,
char  a_RelX,
char  a_RelY,
char  a_RelZ 
)
overridevirtual

Implements cProtocol.

Definition at line 354 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendEntityRelMoveLook ( const cEntity a_Entity,
char  a_RelX,
char  a_RelY,
char  a_RelZ 
)
overridevirtual

Implements cProtocol.

Definition at line 364 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendEntityStatus ( const cEntity a_Entity,
char  a_Status 
)
overridevirtual

Implements cProtocol.

Definition at line 374 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendEntityVelocity ( const cEntity a_Entity)
overridevirtual

Implements cProtocol.

Definition at line 384 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendExperience ( void  )
overridevirtual

Implements cProtocol.

Definition at line 713 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendExperienceOrb ( const cExpOrb a_ExpOrb)
overridevirtual

Implements cProtocol.

Definition at line 723 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendExplosion ( double  a_BlockX,
double  a_BlockY,
double  a_BlockZ,
float  a_Radius,
const cVector3iArray a_BlocksAffected,
const Vector3d a_PlayerMotion 
)
overridevirtual

Implements cProtocol.

Definition at line 394 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendGameMode ( eGameMode  a_GameMode)
overridevirtual

Implements cProtocol.

Definition at line 404 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendHealth ( void  )
overridevirtual

Implements cProtocol.

Definition at line 414 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendHeldItemChange ( int  a_ItemIndex)
overridevirtual

Implements cProtocol.

Definition at line 424 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendHideTitle ( void  )
overridevirtual

Implements cProtocol.

Definition at line 434 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendInventorySlot ( char  a_WindowID,
short  a_SlotNum,
const cItem a_Item 
)
overridevirtual

Implements cProtocol.

Definition at line 454 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendKeepAlive ( UInt32  a_PingID)
overridevirtual

Implements cProtocol.

Definition at line 464 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendLeashEntity ( const cEntity a_Entity,
const cEntity a_EntityLeashedTo 
)
overridevirtual

Implements cProtocol.

Definition at line 474 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendLogin ( const cPlayer a_Player,
const cWorld a_World 
)
overridevirtual

Implements cProtocol.

Definition at line 494 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendLoginSuccess ( void  )
overridevirtual

Implements cProtocol.

Definition at line 504 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendMapData ( const cMap a_Map,
int  a_DataStartX,
int  a_DataStartY 
)
overridevirtual

Implements cProtocol.

Definition at line 514 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendPacket ( cPacketizer a_Pkt)
overrideprotectedvirtual

Sends a single packet contained within the cPacketizer class.

The cPacketizer's destructor calls this to send the contained packet; protocol may transform the data (compression in 1.8 etc).

Implements cProtocol.

Definition at line 1189 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendPaintingSpawn ( const cPainting a_Painting)
overridevirtual

Implements cProtocol.

Definition at line 544 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendParticleEffect ( const AString a_ParticleName,
float  a_SrcX,
float  a_SrcY,
float  a_SrcZ,
float  a_OffsetX,
float  a_OffsetY,
float  a_OffsetZ,
float  a_ParticleData,
int  a_ParticleAmount 
)
overridevirtual

Implements cProtocol.

Definition at line 524 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendParticleEffect ( const AString a_ParticleName,
Vector3f  a_Src,
Vector3f  a_Offset,
float  a_ParticleData,
int  a_ParticleAmount,
std::array< int, 2 >  a_Data 
)
overridevirtual

Implements cProtocol.

Definition at line 534 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendPickupSpawn ( const cPickup a_Pickup)
overridevirtual

Implements cProtocol.

Definition at line 553 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendPlayerAbilities ( void  )
overridevirtual

Implements cProtocol.

Definition at line 563 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendPlayerListAddPlayer ( const cPlayer a_Player)
overridevirtual

Implements cProtocol.

Definition at line 583 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendPlayerListRemovePlayer ( const cPlayer a_Player)
overridevirtual

Implements cProtocol.

Definition at line 593 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendPlayerListUpdateDisplayName ( const cPlayer a_Player,
const AString a_CustomName 
)
overridevirtual

Implements cProtocol.

Definition at line 623 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendPlayerListUpdateGameMode ( const cPlayer a_Player)
overridevirtual

Implements cProtocol.

Definition at line 603 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendPlayerListUpdatePing ( const cPlayer a_Player)
overridevirtual

Implements cProtocol.

Definition at line 613 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendPlayerMaxSpeed ( void  )
overridevirtual

Informs the client of the maximum player speed (1.6.1+)

Implements cProtocol.

Definition at line 633 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendPlayerMoveLook ( void  )
overridevirtual

Implements cProtocol.

Definition at line 643 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendPlayerPosition ( void  )
overridevirtual

Implements cProtocol.

Definition at line 653 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendPlayerSpawn ( const cPlayer a_Player)
overridevirtual

Implements cProtocol.

Definition at line 663 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendPluginMessage ( const AString a_Channel,
const AString a_Message 
)
overridevirtual

Implements cProtocol.

Definition at line 673 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendRemoveEntityEffect ( const cEntity a_Entity,
int  a_EffectID 
)
overridevirtual

Implements cProtocol.

Definition at line 683 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendResetTitle ( void  )
overridevirtual

Implements cProtocol.

Definition at line 693 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendRespawn ( eDimension  a_Dimension)
overridevirtual

Implements cProtocol.

Definition at line 703 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendScoreboardObjective ( const AString a_Name,
const AString a_DisplayName,
Byte  a_Mode 
)
overridevirtual

Implements cProtocol.

Definition at line 733 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendScoreUpdate ( const AString a_Objective,
const AString a_Player,
cObjective::Score  a_Score,
Byte  a_Mode 
)
overridevirtual

Implements cProtocol.

Definition at line 743 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendSetRawSubTitle ( const AString a_SubTitle)
overridevirtual

Implements cProtocol.

Definition at line 773 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendSetRawTitle ( const AString a_Title)
overridevirtual

Implements cProtocol.

Definition at line 793 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendSetSubTitle ( const cCompositeChat a_SubTitle)
overridevirtual

Implements cProtocol.

Definition at line 763 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendSetTitle ( const cCompositeChat a_Title)
overridevirtual

Implements cProtocol.

Definition at line 783 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendSoundEffect ( const AString a_SoundName,
double  a_X,
double  a_Y,
double  a_Z,
float  a_Volume,
float  a_Pitch 
)
overridevirtual

Implements cProtocol.

Definition at line 803 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendSoundParticleEffect ( const EffectID  a_EffectID,
int  a_SrcX,
int  a_SrcY,
int  a_SrcZ,
int  a_Data 
)
overridevirtual

Implements cProtocol.

Definition at line 813 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendSpawnFallingBlock ( const cFallingBlock a_FallingBlock)
overridevirtual

Implements cProtocol.

Definition at line 823 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendSpawnMob ( const cMonster a_Mob)
overridevirtual

Implements cProtocol.

Definition at line 833 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendSpawnObject ( const cEntity a_Entity,
char  a_ObjectType,
int  a_ObjectData,
Byte  a_Yaw,
Byte  a_Pitch 
)
overridevirtual

Implements cProtocol.

Definition at line 843 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendSpawnVehicle ( const cEntity a_Vehicle,
char  a_VehicleType,
char  a_VehicleSubType 
)
overridevirtual

Implements cProtocol.

Definition at line 853 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendStatistics ( const cStatManager a_Manager)
overridevirtual

Implements cProtocol.

Definition at line 863 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendTabCompletionResults ( const AStringVector a_Results)
overridevirtual

Implements cProtocol.

Definition at line 873 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendTeleportEntity ( const cEntity a_Entity)
overridevirtual

Implements cProtocol.

Definition at line 883 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendThunderbolt ( int  a_BlockX,
int  a_BlockY,
int  a_BlockZ 
)
overridevirtual

Implements cProtocol.

Definition at line 893 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendTimeUpdate ( Int64  a_WorldAge,
Int64  a_TimeOfDay,
bool  a_DoDaylightCycle 
)
overridevirtual

Implements cProtocol.

Definition at line 913 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendTitleTimes ( int  a_FadeInTicks,
int  a_DisplayTicks,
int  a_FadeOutTicks 
)
overridevirtual

Implements cProtocol.

Definition at line 903 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendUnleashEntity ( const cEntity a_Entity)
overridevirtual

Implements cProtocol.

Definition at line 484 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendUnloadChunk ( int  a_ChunkX,
int  a_ChunkZ 
)
overridevirtual

Implements cProtocol.

Definition at line 923 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendUpdateBlockEntity ( cBlockEntity a_BlockEntity)
overridevirtual

Implements cProtocol.

Definition at line 933 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendUpdateSign ( int  a_BlockX,
int  a_BlockY,
int  a_BlockZ,
const AString a_Line1,
const AString a_Line2,
const AString a_Line3,
const AString a_Line4 
)
overridevirtual

Implements cProtocol.

Definition at line 943 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendUseBed ( const cEntity a_Entity,
int  a_BlockX,
int  a_BlockY,
int  a_BlockZ 
)
overridevirtual

Implements cProtocol.

Definition at line 953 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendWeather ( eWeather  a_Weather)
overridevirtual

Implements cProtocol.

Definition at line 963 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendWholeInventory ( const cWindow a_Window)
overridevirtual

Implements cProtocol.

Definition at line 973 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendWindowClose ( const cWindow a_Window)
overridevirtual

Implements cProtocol.

Definition at line 983 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendWindowOpen ( const cWindow a_Window)
overridevirtual

Implements cProtocol.

Definition at line 993 of file ProtocolRecognizer.cpp.

void cProtocolRecognizer::SendWindowProperty ( const cWindow a_Window,
short  a_Property,
short  a_Value 
)
overridevirtual

Implements cProtocol.

Definition at line 444 of file ProtocolRecognizer.cpp.

bool cProtocolRecognizer::TryRecognizeLengthedProtocol ( UInt32  a_PacketLengthRemaining)
protected

Tries to recognize a protocol in the lengthed family (1.7+), based on m_Buffer; returns true if recognized.

The packet length and type have already been read, type is 0 The number of bytes remaining in the packet is passed as a_PacketLengthRemaining.

Definition at line 1065 of file ProtocolRecognizer.cpp.

bool cProtocolRecognizer::TryRecognizeProtocol ( void  )
protected

Tries to recognize protocol based on m_Buffer contents; returns true if recognized.

Definition at line 1023 of file ProtocolRecognizer.cpp.

Member Data Documentation

cByteBuffer cProtocolRecognizer::m_Buffer
protected

Buffer for the incoming data until we recognize the protocol.

Definition at line 151 of file ProtocolRecognizer.h.

bool cProtocolRecognizer::m_InPingForUnrecognizedVersion
protected

Is a server list ping for an unrecognized version currently occuring?

Definition at line 154 of file ProtocolRecognizer.h.

std::unique_ptr<cProtocol> cProtocolRecognizer::m_Protocol
protected

The recognized protocol.

Definition at line 148 of file ProtocolRecognizer.h.


The documentation for this class was generated from the following files: