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

#include <Protocol_1_12.h>

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

Public Member Functions

 cProtocol_1_12_2 (cClientHandle *a_Client, const AString &a_ServerAddress, UInt16 a_ServerPort, UInt32 a_State)
 
- Public Member Functions inherited from cProtocol_1_12_1
 cProtocol_1_12_1 (cClientHandle *a_Client, const AString &a_ServerAddress, UInt16 a_ServerPort, UInt32 a_State)
 
- Public Member Functions inherited from cProtocol_1_12
 cProtocol_1_12 (cClientHandle *a_Client, const AString &a_ServerAddress, UInt16 a_ServerPort, UInt32 a_State)
 
virtual void SendCollectEntity (const cEntity &a_Entity, const cPlayer &a_Player, int a_Count) override
 
virtual void SendHideTitle (void) override
 
virtual void SendResetTitle (void) override
 
virtual void SendSpawnMob (const cMonster &a_Mob) override
 
virtual void SendTitleTimes (int a_FadeInTicks, int a_DisplayTicks, int a_FadeOutTicks) override
 
- Public Member Functions inherited from cProtocol_1_11_1
 cProtocol_1_11_1 (cClientHandle *a_Client, const AString &a_ServerAddress, UInt16 a_ServerPort, UInt32 a_State)
 
- Public Member Functions inherited from cProtocol_1_11_0
 cProtocol_1_11_0 (cClientHandle *a_Client, const AString &a_ServerAddress, UInt16 a_ServerPort, UInt32 a_State)
 
- Public Member Functions inherited from cProtocol_1_10_0
 cProtocol_1_10_0 (cClientHandle *a_Client, const AString &a_ServerAddress, UInt16 a_ServerPort, UInt32 a_State)
 
virtual void SendSoundEffect (const AString &a_SoundName, double a_X, double a_Y, double a_Z, float a_Volume, float a_Pitch) override
 
- Public Member Functions inherited from cProtocol_1_9_4
 cProtocol_1_9_4 (cClientHandle *a_Client, const AString &a_ServerAddress, UInt16 a_ServerPort, UInt32 a_State)
 
virtual void SendChunkData (int a_ChunkX, int a_ChunkZ, cChunkDataSerializer &a_Serializer) 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
 
- Public Member Functions inherited from cProtocol_1_9_2
 cProtocol_1_9_2 (cClientHandle *a_Client, const AString &a_ServerAddress, UInt16 a_ServerPort, UInt32 a_State)
 
- Public Member Functions inherited from cProtocol_1_9_1
 cProtocol_1_9_1 (cClientHandle *a_Client, const AString &a_ServerAddress, UInt16 a_ServerPort, UInt32 a_State)
 
virtual void SendLogin (const cPlayer &a_Player, const cWorld &a_World) override
 
- Public Member Functions inherited from cProtocol_1_9_0
 cProtocol_1_9_0 (cClientHandle *a_Client, const AString &a_ServerAddress, UInt16 a_ServerPort, UInt32 a_State)
 
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 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 SendInventorySlot (char a_WindowID, short a_SlotNum, const cItem &a_Item) override
 
virtual void SendLeashEntity (const cEntity &a_Entity, const cEntity &a_EntityLeashedTo) 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 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 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 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 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 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
 
- 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 ()
 

Protected Member Functions

virtual void HandlePacketKeepAlive (cByteBuffer &a_ByteBuffer) override
 
virtual void HandlePacketStatusRequest (cByteBuffer &a_ByteBuffer) override
 
virtual void SendKeepAlive (UInt32 a_PingID) override
 
- Protected Member Functions inherited from cProtocol_1_12_1
virtual UInt32 GetPacketID (ePacketType a_Packet) override
 Get the packet ID for a given packet. More...
 
virtual bool HandlePacket (cByteBuffer &a_ByteBuffer, UInt32 a_PacketType) override
 Reads and handles the packet. More...
 
- Protected Member Functions inherited from cProtocol_1_12
virtual void HandlePacketAdvancementTab (cByteBuffer &a_ByteBuffer)
 
virtual void HandlePacketBlockPlace (cByteBuffer &a_ByteBuffer) override
 
virtual void HandlePacketCraftingBookData (cByteBuffer &a_ByteBuffer)
 
virtual void WriteEntityMetadata (cPacketizer &a_Pkt, const cEntity &a_Entity) override
 Writes the metadata for the specified entity, not including the terminating 0xff. More...
 
virtual void WriteMobMetadata (cPacketizer &a_Pkt, const cMonster &a_Mob) override
 Writes the mob-specific metadata for the specified mob. More...
 
- Protected Member Functions inherited from cProtocol_1_11_0
virtual void WriteBlockEntity (cPacketizer &a_Pkt, const cBlockEntity &a_BlockEntity) override
 Writes the block entity data for the specified block entity into the packet. More...
 
- Protected Member Functions inherited from cProtocol_1_9_0
void AddReceivedData (const char *a_Data, size_t a_Size)
 Adds the received (unencrypted) data to m_ReceivedData, parses complete packets. More...
 
eBlockFace FaceIntToBlockFace (Int32 a_FaceInt)
 Converts the BlockFace received by the protocol into eBlockFace constants. More...
 
eHand HandIntToEnum (Int32 a_Hand)
 Converts the hand parameter received by the protocol into eHand constants. More...
 
virtual void HandleConfirmTeleport (cByteBuffer &a_ByteBuffer)
 
virtual void HandlePacketAnimation (cByteBuffer &a_ByteBuffer)
 
virtual void HandlePacketBlockDig (cByteBuffer &a_ByteBuffer)
 
virtual void HandlePacketBoatSteer (cByteBuffer &a_ByteBuffer)
 
virtual void HandlePacketChatMessage (cByteBuffer &a_ByteBuffer)
 
virtual void HandlePacketClientSettings (cByteBuffer &a_ByteBuffer)
 
virtual void HandlePacketClientStatus (cByteBuffer &a_ByteBuffer)
 
virtual void HandlePacketCreativeInventoryAction (cByteBuffer &a_ByteBuffer)
 
virtual void HandlePacketEnchantItem (cByteBuffer &a_ByteBuffer)
 
virtual void HandlePacketEntityAction (cByteBuffer &a_ByteBuffer)
 
virtual void HandlePacketLoginEncryptionResponse (cByteBuffer &a_ByteBuffer)
 
virtual void HandlePacketLoginStart (cByteBuffer &a_ByteBuffer)
 
virtual void HandlePacketPlayer (cByteBuffer &a_ByteBuffer)
 
virtual void HandlePacketPlayerAbilities (cByteBuffer &a_ByteBuffer)
 
virtual void HandlePacketPlayerLook (cByteBuffer &a_ByteBuffer)
 
virtual void HandlePacketPlayerPos (cByteBuffer &a_ByteBuffer)
 
virtual void HandlePacketPlayerPosLook (cByteBuffer &a_ByteBuffer)
 
virtual void HandlePacketPluginMessage (cByteBuffer &a_ByteBuffer)
 
virtual void HandlePacketSlotSelect (cByteBuffer &a_ByteBuffer)
 
virtual void HandlePacketSpectate (cByteBuffer &a_ByteBuffer)
 
virtual void HandlePacketStatusPing (cByteBuffer &a_ByteBuffer)
 
virtual void HandlePacketSteerVehicle (cByteBuffer &a_ByteBuffer)
 
virtual void HandlePacketTabComplete (cByteBuffer &a_ByteBuffer)
 
virtual void HandlePacketUpdateSign (cByteBuffer &a_ByteBuffer)
 
virtual void HandlePacketUseEntity (cByteBuffer &a_ByteBuffer)
 
virtual void HandlePacketUseItem (cByteBuffer &a_ByteBuffer)
 
virtual void HandlePacketVehicleMove (cByteBuffer &a_ByteBuffer)
 
virtual void HandlePacketWindowClick (cByteBuffer &a_ByteBuffer)
 
virtual void HandlePacketWindowClose (cByteBuffer &a_ByteBuffer)
 
virtual void HandleVanillaPluginMessage (cByteBuffer &a_ByteBuffer, const AString &a_Channel)
 Parses Vanilla plugin messages into specific ClientHandle calls. More...
 
void ParseItemMetadata (cItem &a_Item, const AString &a_Metadata)
 Parses item metadata as read by ReadItem(), into the item enchantments. More...
 
virtual bool ReadItem (cByteBuffer &a_ByteBuffer, cItem &a_Item, size_t a_KeepRemainingBytes=0)
 Reads an item out of the received data, sets a_Item to the values read. More...
 
void SendCompass (const cWorld &a_World)
 
virtual void SendData (const char *a_Data, size_t a_Size) override
 Sends the data to the client, encrypting them if needed. More...
 
virtual void SendPacket (cPacketizer &a_Packet) override
 Sends the packet to the client. More...
 
void StartEncryption (const Byte *a_Key)
 
void WriteEntityProperties (cPacketizer &a_Pkt, const cEntity &a_Entity)
 Writes the entity properties for the specified entity, including the Count field. More...
 
virtual void WriteItem (cPacketizer &a_Pkt, const cItem &a_Item)
 Writes the item data into a packet. More...
 

Private Types

typedef cProtocol_1_12_1 Super
 

Additional Inherited Members

- 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...
 
- Static Public Member Functions inherited from cProtocol_1_9_0
static bool CompressPacket (const AString &a_Packet, AString &a_Compressed)
 Compress the packet. More...
 
static void FixItemFramePositions (int a_ObjectData, double &a_PosX, double &a_PosZ, double &a_Yaw)
 Minecraft 1.8 use other locations to spawn the item frame. More...
 
static int GetParticleID (const AString &a_ParticleName)
 The 1.8 protocol use a particle id instead of a string. More...
 
- Protected Types inherited from cProtocol_1_9_0
enum  eMetadataType {
  METADATA_TYPE_BYTE = 0, METADATA_TYPE_VARINT = 1, METADATA_TYPE_FLOAT = 2, METADATA_TYPE_STRING = 3,
  METADATA_TYPE_CHAT = 4, METADATA_TYPE_ITEM = 5, METADATA_TYPE_BOOL = 6, METADATA_TYPE_ROTATION = 7,
  METADATA_TYPE_POSITION = 8, METADATA_TYPE_OPTIONAL_POSITION = 9, METADATA_TYPE_DIRECTION = 10, METADATA_TYPE_OPTIONAL_UUID = 11,
  METADATA_TYPE_BLOCKID = 12
}
 Types used within metadata. More...
 
- Protected Attributes inherited from cProtocol_1_9_0
AString m_AuthServerID
 
cFile m_CommLogFile
 The logfile where the comm is logged, when g_ShouldLogComm is true. More...
 
cAesCfb128Decryptor m_Decryptor
 
cAesCfb128Encryptor m_Encryptor
 
bool m_IsEncrypted
 
bool m_IsTeleportIdConfirmed
 The current teleport ID, and whether it has been confirmed by the client. More...
 
UInt32 m_OutstandingTeleportId
 
cByteBuffer m_ReceivedData
 Buffer for the received data. More...
 
AString m_ServerAddress
 
UInt16 m_ServerPort
 
UInt32 m_State
 State of the 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...
 

Detailed Description

Definition at line 77 of file Protocol_1_12.h.

Member Typedef Documentation

Definition at line 80 of file Protocol_1_12.h.

Constructor & Destructor Documentation

cProtocol_1_12_2::cProtocol_1_12_2 ( cClientHandle a_Client,
const AString a_ServerAddress,
UInt16  a_ServerPort,
UInt32  a_State 
)
inline

Definition at line 83 of file Protocol_1_12.h.

Member Function Documentation

void cProtocol_1_12_2::HandlePacketKeepAlive ( cByteBuffer a_ByteBuffer)
overrideprotectedvirtual

Reimplemented from cProtocol_1_9_0.

Definition at line 1422 of file Protocol_1_12.cpp.

void cProtocol_1_12_2::HandlePacketStatusRequest ( cByteBuffer a_ByteBuffer)
overrideprotectedvirtual

Reimplemented from cProtocol_1_12_1.

Reimplemented in cProtocol_1_13.

Definition at line 1439 of file Protocol_1_12.cpp.

void cProtocol_1_12_2::SendKeepAlive ( UInt32  a_PingID)
overrideprotectedvirtual

Reimplemented from cProtocol_1_9_0.

Definition at line 1483 of file Protocol_1_12.cpp.


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