diff options
author | madmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2012-02-14 22:09:14 +0100 |
---|---|---|
committer | madmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2012-02-14 22:09:14 +0100 |
commit | 19e711a1e3f631079c9c8eef93fe4d62a7e801cd (patch) | |
tree | 53a75e7dc78aab570760e64a0e3cea5ee7b68289 /source/cChunk.h | |
parent | Got rid of cWorld::GetAllPlayers() and implemented ForEachPlayer() more or less in Lua (diff) | |
download | cuberite-19e711a1e3f631079c9c8eef93fe4d62a7e801cd.tar cuberite-19e711a1e3f631079c9c8eef93fe4d62a7e801cd.tar.gz cuberite-19e711a1e3f631079c9c8eef93fe4d62a7e801cd.tar.bz2 cuberite-19e711a1e3f631079c9c8eef93fe4d62a7e801cd.tar.lz cuberite-19e711a1e3f631079c9c8eef93fe4d62a7e801cd.tar.xz cuberite-19e711a1e3f631079c9c8eef93fe4d62a7e801cd.tar.zst cuberite-19e711a1e3f631079c9c8eef93fe4d62a7e801cd.zip |
Diffstat (limited to 'source/cChunk.h')
-rw-r--r-- | source/cChunk.h | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/source/cChunk.h b/source/cChunk.h index 0e1dccfef..4ff060b30 100644 --- a/source/cChunk.h +++ b/source/cChunk.h @@ -52,7 +52,6 @@ public: cChunk(int a_X, int a_Y, int a_Z, cWorld* a_World);
~cChunk();
- void Initialize();
bool IsValid(void) const {return m_IsValid; } // Returns true if the chunk is valid (loaded / generated)
void SetValid(bool a_SendToClients = true); // Also wakes up all clients attached to this chunk to let them finish logging in
bool CanUnload(void);
@@ -87,9 +86,6 @@ public: void AddEntity( cEntity * a_Entity );
void RemoveEntity( cEntity * a_Entity);
- // TODO: This interface is dangerous
- OBSOLETE const std::list< cClientHandle* > & GetClients();// { return m_LoadedByClient; }
-
inline void RecalculateLighting() { m_bCalculateLighting = true; } // Recalculate lighting next tick
inline void RecalculateHeightmap() { m_bCalculateHeightmap = true; } // Recalculate heightmap next tick
void SpreadLight(char* a_LightBuffer);
@@ -102,6 +98,10 @@ public: void Broadcast( const cPacket & a_Packet, cClientHandle * a_Exclude = NULL) {Broadcast(&a_Packet, a_Exclude); }
void Broadcast( const cPacket * a_Packet, cClientHandle * a_Exclude = NULL);
+ // TODO: These functions are dangerous - rewrite to:
+ // Loaded(blockdata, lightdata, blockentities, entities),
+ // Generated(blockdata, lightdata, blockentities, entities),
+ // GetBlockData(blockdatadest) etc.
char* pGetBlockData() { return m_BlockData; }
char* pGetType() { return m_BlockType; }
char* pGetMeta() { return m_BlockMeta; }
@@ -109,6 +109,8 @@ public: char* pGetSkyLight() { return m_BlockSkyLight; }
void CopyBlockDataFrom(const char * a_NewBlockData); // Copies all blockdata, recalculates heightmap (used by chunk loaders)
+
+ // TODO: Move this into the specific WSSchema:
void LoadFromJson( const Json::Value & a_Value );
void SaveToJson( Json::Value & a_Value );
@@ -122,18 +124,15 @@ public: inline static unsigned int MakeIndex(int x, int y, int z )
{
if( x < 16 && x > -1 && y < 128 && y > -1 && z < 16 && z > -1 )
+ {
return y + (z * 128) + (x * 128 * 16);
+ }
return 0;
}
static const int c_NumBlocks = 16*128*16;
static const int c_BlockDataSize = c_NumBlocks * 2 + (c_NumBlocks/2); // 2.5 * numblocks
-
- // Reference counting
- void AddReference();
- void RemoveReference();
- int GetReferenceCount();
-
+
private:
bool m_IsValid; // True if the chunk is loaded / generated
|