Cuberite
A lightweight, fast and extensible game server for Minecraft
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
cProtocol Class Referenceabstract

#include <Protocol.h>

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

Public Types

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

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

Protected Member Functions

virtual UInt32 GetPacketID (ePacketType a_Packet)=0
 Returns the protocol-specific packet ID given the protocol-agnostic packet enum. More...
 
virtual void SendData (const char *a_Data, size_t a_Size)=0
 A generic data-sending routine, all outgoing packet data needs to be routed through this so that descendants may override it. More...
 
virtual void SendPacket (cPacketizer &a_Packet)=0
 Sends a single packet contained within the cPacketizer class. More...
 

Protected Attributes

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...
 

Friends

class cPacketizer
 

Detailed Description

Definition at line 47 of file Protocol.h.

Member Enumeration Documentation

Logical types of outgoing packets.

These values get translated to on-wire packet IDs in GetPacketID(), specific for each protocol. This is mainly useful for protocol sub-versions that re-number the packets while using mostly the same packet layout.

Enumerator
pktAttachEntity 
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 

Definition at line 68 of file Protocol.h.

Constructor & Destructor Documentation

cProtocol::cProtocol ( cClientHandle a_Client)
inline

Definition at line 50 of file Protocol.h.

virtual cProtocol::~cProtocol ( )
inlinevirtual

Definition at line 57 of file Protocol.h.

Member Function Documentation

virtual void cProtocol::DataReceived ( const char *  a_Data,
size_t  a_Size 
)
pure virtual

Called when client sends some data.

Implemented in cProtocolRecognizer, cProtocol_1_9_0, and cProtocol_1_8_0.

virtual AString cProtocol::GetAuthServerID ( void  )
pure virtual

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

Implemented in cProtocolRecognizer, cProtocol_1_9_0, and cProtocol_1_8_0.

virtual UInt32 cProtocol::GetPacketID ( ePacketType  a_Packet)
protectedpure virtual

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

Implemented in cProtocol_1_9_4, cProtocol_1_9_0, cProtocol_1_8_0, cProtocolRecognizer, cProtocol_1_12_1, cProtocol_1_13, and cProtocol_1_12.

virtual void cProtocol::Initialize ( cClientHandle a_Client)
inlinevirtual

Called after construction so that the protocol class can initialize itself.

Throws a std::exception descendant on failure; the client is kicked with the exception's message as a result.

Reimplemented in cProtocol_1_13.

Definition at line 63 of file Protocol.h.

virtual void cProtocol::SendAttachEntity ( const cEntity a_Entity,
const cEntity a_Vehicle 
)
pure virtual
virtual void cProtocol::SendBlockAction ( int  a_BlockX,
int  a_BlockY,
int  a_BlockZ,
char  a_Byte1,
char  a_Byte2,
BLOCKTYPE  a_BlockType 
)
pure virtual
virtual void cProtocol::SendBlockBreakAnim ( UInt32  a_EntityID,
int  a_BlockX,
int  a_BlockY,
int  a_BlockZ,
char  a_Stage 
)
pure virtual
virtual void cProtocol::SendBlockChange ( int  a_BlockX,
int  a_BlockY,
int  a_BlockZ,
BLOCKTYPE  a_BlockType,
NIBBLETYPE  a_BlockMeta 
)
pure virtual
virtual void cProtocol::SendBlockChanges ( int  a_ChunkX,
int  a_ChunkZ,
const sSetBlockVector a_Changes 
)
pure virtual
virtual void cProtocol::SendCameraSetTo ( const cEntity a_Entity)
pure virtual
virtual void cProtocol::SendChat ( const AString a_Message,
eChatType  a_Type 
)
pure virtual
virtual void cProtocol::SendChat ( const cCompositeChat a_Message,
eChatType  a_Type,
bool  a_ShouldUseChatPrefixes 
)
pure virtual
virtual void cProtocol::SendChatRaw ( const AString a_MessageRaw,
eChatType  a_Type 
)
pure virtual
virtual void cProtocol::SendChunkData ( int  a_ChunkX,
int  a_ChunkZ,
cChunkDataSerializer a_Serializer 
)
pure virtual
virtual void cProtocol::SendCollectEntity ( const cEntity a_Entity,
const cPlayer a_Player,
int  a_Count 
)
pure virtual
virtual void cProtocol::SendData ( const char *  a_Data,
size_t  a_Size 
)
protectedpure virtual

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

Implemented in cProtocol_1_9_0, cProtocol_1_8_0, and cProtocolRecognizer.

virtual void cProtocol::SendDestroyEntity ( const cEntity a_Entity)
pure virtual
virtual void cProtocol::SendDetachEntity ( const cEntity a_Entity,
const cEntity a_PreviousVehicle 
)
pure virtual
virtual void cProtocol::SendDisconnect ( const AString a_Reason)
pure virtual
virtual void cProtocol::SendDisplayObjective ( const AString a_Objective,
cScoreboard::eDisplaySlot  a_Display 
)
pure virtual
virtual void cProtocol::SendEditSign ( int  a_BlockX,
int  a_BlockY,
int  a_BlockZ 
)
pure virtual

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

Implemented in cProtocolRecognizer, cProtocol_1_9_0, and cProtocol_1_8_0.

virtual void cProtocol::SendEntityAnimation ( const cEntity a_Entity,
char  a_Animation 
)
pure virtual
virtual void cProtocol::SendEntityEffect ( const cEntity a_Entity,
int  a_EffectID,
int  a_Amplifier,
int  a_Duration 
)
pure virtual
virtual void cProtocol::SendEntityEquipment ( const cEntity a_Entity,
short  a_SlotNum,
const cItem a_Item 
)
pure virtual
virtual void cProtocol::SendEntityHeadLook ( const cEntity a_Entity)
pure virtual
virtual void cProtocol::SendEntityLook ( const cEntity a_Entity)
pure virtual
virtual void cProtocol::SendEntityMetadata ( const cEntity a_Entity)
pure virtual
virtual void cProtocol::SendEntityProperties ( const cEntity a_Entity)
pure virtual
virtual void cProtocol::SendEntityRelMove ( const cEntity a_Entity,
char  a_RelX,
char  a_RelY,
char  a_RelZ 
)
pure virtual
virtual void cProtocol::SendEntityRelMoveLook ( const cEntity a_Entity,
char  a_RelX,
char  a_RelY,
char  a_RelZ 
)
pure virtual
virtual void cProtocol::SendEntityStatus ( const cEntity a_Entity,
char  a_Status 
)
pure virtual
virtual void cProtocol::SendEntityVelocity ( const cEntity a_Entity)
pure virtual
virtual void cProtocol::SendExperience ( void  )
pure virtual
virtual void cProtocol::SendExperienceOrb ( const cExpOrb a_ExpOrb)
pure virtual
virtual void cProtocol::SendExplosion ( double  a_BlockX,
double  a_BlockY,
double  a_BlockZ,
float  a_Radius,
const cVector3iArray a_BlocksAffected,
const Vector3d a_PlayerMotion 
)
pure virtual
virtual void cProtocol::SendGameMode ( eGameMode  a_GameMode)
pure virtual
virtual void cProtocol::SendHealth ( void  )
pure virtual
virtual void cProtocol::SendHeldItemChange ( int  a_ItemIndex)
pure virtual
virtual void cProtocol::SendHideTitle ( void  )
pure virtual
virtual void cProtocol::SendInventorySlot ( char  a_WindowID,
short  a_SlotNum,
const cItem a_Item 
)
pure virtual
virtual void cProtocol::SendKeepAlive ( UInt32  a_PingID)
pure virtual
virtual void cProtocol::SendLeashEntity ( const cEntity a_Entity,
const cEntity a_EntityLeashedTo 
)
pure virtual
virtual void cProtocol::SendLogin ( const cPlayer a_Player,
const cWorld a_World 
)
pure virtual
virtual void cProtocol::SendLoginSuccess ( void  )
pure virtual
virtual void cProtocol::SendMapData ( const cMap a_Map,
int  a_DataStartX,
int  a_DataStartY 
)
pure virtual
virtual void cProtocol::SendPacket ( cPacketizer a_Packet)
protectedpure virtual

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).

Implemented in cProtocol_1_9_0, cProtocol_1_8_0, and cProtocolRecognizer.

virtual void cProtocol::SendPaintingSpawn ( const cPainting a_Painting)
pure virtual
virtual void cProtocol::SendParticleEffect ( const AString a_SoundName,
float  a_SrcX,
float  a_SrcY,
float  a_SrcZ,
float  a_OffsetX,
float  a_OffsetY,
float  a_OffsetZ,
float  a_ParticleData,
int  a_ParticleAmount 
)
pure virtual
virtual void cProtocol::SendParticleEffect ( const AString a_SoundName,
Vector3f  a_Src,
Vector3f  a_Offset,
float  a_ParticleData,
int  a_ParticleAmount,
std::array< int, 2 >  a_Data 
)
pure virtual
virtual void cProtocol::SendPickupSpawn ( const cPickup a_Pickup)
pure virtual
virtual void cProtocol::SendPlayerAbilities ( void  )
pure virtual
virtual void cProtocol::SendPlayerListAddPlayer ( const cPlayer a_Player)
pure virtual
virtual void cProtocol::SendPlayerListRemovePlayer ( const cPlayer a_Player)
pure virtual
virtual void cProtocol::SendPlayerListUpdateDisplayName ( const cPlayer a_Player,
const AString a_CustomName 
)
pure virtual
virtual void cProtocol::SendPlayerListUpdateGameMode ( const cPlayer a_Player)
pure virtual
virtual void cProtocol::SendPlayerListUpdatePing ( const cPlayer a_Player)
pure virtual
virtual void cProtocol::SendPlayerMaxSpeed ( void  )
pure virtual

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

Implemented in cProtocolRecognizer, cProtocol_1_9_0, and cProtocol_1_8_0.

virtual void cProtocol::SendPlayerMoveLook ( void  )
pure virtual
virtual void cProtocol::SendPlayerPosition ( void  )
pure virtual
virtual void cProtocol::SendPlayerSpawn ( const cPlayer a_Player)
pure virtual
virtual void cProtocol::SendPluginMessage ( const AString a_Channel,
const AString a_Message 
)
pure virtual
virtual void cProtocol::SendRemoveEntityEffect ( const cEntity a_Entity,
int  a_EffectID 
)
pure virtual
virtual void cProtocol::SendResetTitle ( void  )
pure virtual
virtual void cProtocol::SendRespawn ( eDimension  a_Dimension)
pure virtual
virtual void cProtocol::SendScoreboardObjective ( const AString a_Name,
const AString a_DisplayName,
Byte  a_Mode 
)
pure virtual
virtual void cProtocol::SendScoreUpdate ( const AString a_Objective,
const AString a_Player,
cObjective::Score  a_Score,
Byte  a_Mode 
)
pure virtual
virtual void cProtocol::SendSetRawSubTitle ( const AString a_SubTitle)
pure virtual
virtual void cProtocol::SendSetRawTitle ( const AString a_Title)
pure virtual
virtual void cProtocol::SendSetSubTitle ( const cCompositeChat a_SubTitle)
pure virtual
virtual void cProtocol::SendSetTitle ( const cCompositeChat a_Title)
pure virtual
virtual void cProtocol::SendSoundEffect ( const AString a_SoundName,
double  a_X,
double  a_Y,
double  a_Z,
float  a_Volume,
float  a_Pitch 
)
pure virtual
virtual void cProtocol::SendSoundParticleEffect ( const EffectID  a_EffectID,
int  a_SrcX,
int  a_SrcY,
int  a_SrcZ,
int  a_Data 
)
pure virtual
virtual void cProtocol::SendSpawnFallingBlock ( const cFallingBlock a_FallingBlock)
pure virtual
virtual void cProtocol::SendSpawnMob ( const cMonster a_Mob)
pure virtual
virtual void cProtocol::SendSpawnObject ( const cEntity a_Entity,
char  a_ObjectType,
int  a_ObjectData,
Byte  a_Yaw,
Byte  a_Pitch 
)
pure virtual
virtual void cProtocol::SendSpawnVehicle ( const cEntity a_Vehicle,
char  a_VehicleType,
char  a_VehicleSubType 
)
pure virtual
virtual void cProtocol::SendStatistics ( const cStatManager a_Manager)
pure virtual
virtual void cProtocol::SendTabCompletionResults ( const AStringVector a_Results)
pure virtual
virtual void cProtocol::SendTeleportEntity ( const cEntity a_Entity)
pure virtual
virtual void cProtocol::SendThunderbolt ( int  a_BlockX,
int  a_BlockY,
int  a_BlockZ 
)
pure virtual
virtual void cProtocol::SendTimeUpdate ( Int64  a_WorldAge,
Int64  a_TimeOfDay,
bool  a_DoDaylightCycle 
)
pure virtual
virtual void cProtocol::SendTitleTimes ( int  a_FadeInTicks,
int  a_DisplayTicks,
int  a_FadeOutTicks 
)
pure virtual
virtual void cProtocol::SendUnleashEntity ( const cEntity a_Entity)
pure virtual
virtual void cProtocol::SendUnloadChunk ( int  a_ChunkX,
int  a_ChunkZ 
)
pure virtual
virtual void cProtocol::SendUpdateBlockEntity ( cBlockEntity a_BlockEntity)
pure virtual
virtual void cProtocol::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 
)
pure virtual
virtual void cProtocol::SendUseBed ( const cEntity a_Entity,
int  a_BlockX,
int  a_BlockY,
int  a_BlockZ 
)
pure virtual
virtual void cProtocol::SendWeather ( eWeather  a_Weather)
pure virtual
virtual void cProtocol::SendWholeInventory ( const cWindow a_Window)
pure virtual
virtual void cProtocol::SendWindowClose ( const cWindow a_Window)
pure virtual
virtual void cProtocol::SendWindowOpen ( const cWindow a_Window)
pure virtual
virtual void cProtocol::SendWindowProperty ( const cWindow a_Window,
short  a_Property,
short  a_Value 
)
pure virtual

Friends And Related Function Documentation

friend class cPacketizer
friend

Definition at line 242 of file Protocol.h.

Member Data Documentation

cClientHandle* cProtocol::m_Client
protected

Definition at line 244 of file Protocol.h.

cCriticalSection cProtocol::m_CSPacket
protected

Provides synchronization for sending the entire packet at once.

Each SendXYZ() function must acquire this CS in order to send the whole packet at once. Automated via cPacketizer class.

Definition at line 249 of file Protocol.h.

cByteBuffer cProtocol::m_OutPacketBuffer
protected

Buffer for composing the outgoing packets, through cPacketizer.

Definition at line 252 of file Protocol.h.

cByteBuffer cProtocol::m_OutPacketLenBuffer
protected

Buffer for composing packet length (so that each cPacketizer instance doesn't allocate a new cPacketBuffer)

Definition at line 255 of file Protocol.h.


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