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 Class Reference

#include <Protocol_1_12.h>

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

Public Member Functions

 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 SendKeepAlive (UInt32 a_PingID) 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 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...
 
virtual void HandlePacketAdvancementTab (cByteBuffer &a_ByteBuffer)
 
virtual void HandlePacketBlockPlace (cByteBuffer &a_ByteBuffer) override
 
virtual void HandlePacketCraftingBookData (cByteBuffer &a_ByteBuffer)
 
virtual void HandlePacketStatusRequest (cByteBuffer &a_ByteBuffer) override
 
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 HandlePacketKeepAlive (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_11_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 27 of file Protocol_1_12.h.

Member Typedef Documentation

Definition at line 30 of file Protocol_1_12.h.

Constructor & Destructor Documentation

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

Definition at line 319 of file Protocol_1_12.cpp.

Member Function Documentation

UInt32 cProtocol_1_12::GetPacketID ( cProtocol::ePacketType  a_Packet)
overrideprotectedvirtual

Get the packet ID for a given packet.

Reimplemented from cProtocol_1_9_4.

Reimplemented in cProtocol_1_12_1, and cProtocol_1_13.

Definition at line 1022 of file Protocol_1_12.cpp.

bool cProtocol_1_12::HandlePacket ( cByteBuffer a_ByteBuffer,
UInt32  a_PacketType 
)
overrideprotectedvirtual

Reads and handles the packet.

The packet length and type have already been read. Returns true if the packet was understood, false if it was an unknown packet.

Reimplemented from cProtocol_1_9_0.

Reimplemented in cProtocol_1_12_1, and cProtocol_1_13.

Definition at line 1136 of file Protocol_1_12.cpp.

void cProtocol_1_12::HandlePacketAdvancementTab ( cByteBuffer a_ByteBuffer)
protectedvirtual

Definition at line 1073 of file Protocol_1_12.cpp.

void cProtocol_1_12::HandlePacketBlockPlace ( cByteBuffer a_ByteBuffer)
overrideprotectedvirtual

Reimplemented from cProtocol_1_11_0.

Definition at line 355 of file Protocol_1_12.cpp.

void cProtocol_1_12::HandlePacketCraftingBookData ( cByteBuffer a_ByteBuffer)
protectedvirtual

Definition at line 1063 of file Protocol_1_12.cpp.

void cProtocol_1_12::HandlePacketStatusRequest ( cByteBuffer a_ByteBuffer)
overrideprotectedvirtual

Reimplemented from cProtocol_1_11_1.

Reimplemented in cProtocol_1_12_2, cProtocol_1_12_1, and cProtocol_1_13.

Definition at line 375 of file Protocol_1_12.cpp.

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

Reimplemented from cProtocol_1_11_0.

Definition at line 1122 of file Protocol_1_12.cpp.

void cProtocol_1_12::SendHideTitle ( void  )
overridevirtual

Reimplemented from cProtocol_1_11_0.

Definition at line 1098 of file Protocol_1_12.cpp.

void cProtocol_1_12::SendResetTitle ( void  )
overridevirtual

Reimplemented from cProtocol_1_11_0.

Definition at line 1110 of file Protocol_1_12.cpp.

void cProtocol_1_12::SendSpawnMob ( const cMonster a_Mob)
overridevirtual

Reimplemented from cProtocol_1_11_0.

Definition at line 328 of file Protocol_1_12.cpp.

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

Reimplemented from cProtocol_1_11_0.

Definition at line 1083 of file Protocol_1_12.cpp.

void cProtocol_1_12::WriteEntityMetadata ( cPacketizer a_Pkt,
const cEntity a_Entity 
)
overrideprotectedvirtual

Writes the metadata for the specified entity, not including the terminating 0xff.

Reimplemented from cProtocol_1_11_0.

Reimplemented in cProtocol_1_13.

Definition at line 420 of file Protocol_1_12.cpp.

void cProtocol_1_12::WriteMobMetadata ( cPacketizer a_Pkt,
const cMonster a_Mob 
)
overrideprotectedvirtual

Writes the mob-specific metadata for the specified mob.

Reimplemented from cProtocol_1_11_0.

Definition at line 627 of file Protocol_1_12.cpp.


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