diff options
author | cedeel@gmail.com <cedeel@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2012-06-14 15:06:06 +0200 |
---|---|---|
committer | cedeel@gmail.com <cedeel@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2012-06-14 15:06:06 +0200 |
commit | 92c59963f82f81aa3202657e7fdbb2592924ede3 (patch) | |
tree | b7eb2474528a4998fa102e3ec9119b908cee08b4 /source/cBlockEntity.h | |
parent | Added HOOK_WEATHER_CHANGE. (diff) | |
download | cuberite-92c59963f82f81aa3202657e7fdbb2592924ede3.tar cuberite-92c59963f82f81aa3202657e7fdbb2592924ede3.tar.gz cuberite-92c59963f82f81aa3202657e7fdbb2592924ede3.tar.bz2 cuberite-92c59963f82f81aa3202657e7fdbb2592924ede3.tar.lz cuberite-92c59963f82f81aa3202657e7fdbb2592924ede3.tar.xz cuberite-92c59963f82f81aa3202657e7fdbb2592924ede3.tar.zst cuberite-92c59963f82f81aa3202657e7fdbb2592924ede3.zip |
Diffstat (limited to 'source/cBlockEntity.h')
-rw-r--r-- | source/cBlockEntity.h | 186 |
1 files changed, 93 insertions, 93 deletions
diff --git a/source/cBlockEntity.h b/source/cBlockEntity.h index 8a9e51f56..0a6494ec6 100644 --- a/source/cBlockEntity.h +++ b/source/cBlockEntity.h @@ -1,93 +1,93 @@ -
-#pragma once
-
-#include "cClientHandle.h"
-#include "cWorld.h"
-
-
-
-
-
-#ifndef _WIN32
-#include "BlockID.h"
-#else
-enum ENUM_BLOCK_ID;
-#endif
-
-
-
-
-
-namespace Json
-{
- class Value;
-};
-
-class cPlayer;
-class cWorld;
-class cPacket;
-
-
-
-
-
-class cBlockEntity
-{
-protected:
- cBlockEntity(ENUM_BLOCK_ID a_BlockType, int a_BlockX, int a_BlockY, int a_BlockZ, cWorld * a_World)
- : m_PosX( a_BlockX )
- , m_PosY( a_BlockY )
- , m_PosZ( a_BlockZ )
- , m_BlockType( a_BlockType )
- , m_World( a_World )
- {}
-public:
- virtual ~cBlockEntity() {};
- virtual void Destroy() {};
-
- // Position, in absolute block coordinates:
- int GetPosX() { return m_PosX; }
- int GetPosY() { return m_PosY; }
- int GetPosZ() { return m_PosZ; }
-
- ENUM_BLOCK_ID GetBlockType() { return m_BlockType; }
-
- cWorld * GetWorld(void) const {return m_World; }
-
- virtual void SaveToJson (Json::Value & a_Value ) = 0;
-
- virtual void UsedBy( cPlayer * a_Player ) = 0;
-
- void SendTo( cClientHandle* a_Client )
- {
- std::auto_ptr<cPacket> Packet(GetPacket());
- if (Packet.get() == NULL)
- {
- return;
- }
- if ( a_Client != NULL )
- {
- a_Client->Send(*(Packet.get()));
- }
- else // broadcast to all chunk clients
- {
- m_World->BroadcastToChunkOfBlock(m_PosX, m_PosY, m_PosZ, Packet.get());
- }
- }
-
- /// Returns the packet to send to clients to represent this entity; NULL if no packet needed; caller is supposed to delete the packet
- virtual cPacket * GetPacket(void) {return NULL; }
-
-protected:
- int m_PosX; // Position in absolute block coordinates
- int m_PosY;
- int m_PosZ;
-
- ENUM_BLOCK_ID m_BlockType;
-
- cWorld * m_World;
-};
-
-
-
-
+ +#pragma once + +#include "cClientHandle.h" +#include "cWorld.h" + + + + + +#ifndef _WIN32 +#include "BlockID.h" +#else +enum ENUM_BLOCK_ID; +#endif + + + + + +namespace Json +{ + class Value; +}; + +class cPlayer; +class cWorld; +class cPacket; + + + + + +class cBlockEntity +{ +protected: + cBlockEntity(ENUM_BLOCK_ID a_BlockType, int a_BlockX, int a_BlockY, int a_BlockZ, cWorld * a_World) + : m_PosX( a_BlockX ) + , m_PosY( a_BlockY ) + , m_PosZ( a_BlockZ ) + , m_BlockType( a_BlockType ) + , m_World( a_World ) + {} +public: + virtual ~cBlockEntity() {}; + virtual void Destroy() {}; + + // Position, in absolute block coordinates: + int GetPosX() { return m_PosX; } + int GetPosY() { return m_PosY; } + int GetPosZ() { return m_PosZ; } + + ENUM_BLOCK_ID GetBlockType() { return m_BlockType; } + + cWorld * GetWorld(void) const {return m_World; } + + virtual void SaveToJson (Json::Value & a_Value ) = 0; + + virtual void UsedBy( cPlayer * a_Player ) = 0; + + void SendTo( cClientHandle* a_Client ) + { + std::auto_ptr<cPacket> Packet(GetPacket()); + if (Packet.get() == NULL) + { + return; + } + if ( a_Client != NULL ) + { + a_Client->Send(*(Packet.get())); + } + else // broadcast to all chunk clients + { + m_World->BroadcastToChunkOfBlock(m_PosX, m_PosY, m_PosZ, Packet.get()); + } + } + + /// Returns the packet to send to clients to represent this entity; NULL if no packet needed; caller is supposed to delete the packet + virtual cPacket * GetPacket(void) {return NULL; } + +protected: + int m_PosX; // Position in absolute block coordinates + int m_PosY; + int m_PosZ; + + ENUM_BLOCK_ID m_BlockType; + + cWorld * m_World; +}; + + + + |