diff options
author | Tycho <work.tycho+git@gmail.com> | 2014-05-10 16:19:06 +0200 |
---|---|---|
committer | Tycho <work.tycho+git@gmail.com> | 2014-05-10 16:19:06 +0200 |
commit | cb6200345cdfcf34ab4cd6b50cc268152324f9dd (patch) | |
tree | 04602fd3bd45e8dcd91dcd46263730659de7a27d /src | |
parent | quieted gcov 4 (diff) | |
download | cuberite-cb6200345cdfcf34ab4cd6b50cc268152324f9dd.tar cuberite-cb6200345cdfcf34ab4cd6b50cc268152324f9dd.tar.gz cuberite-cb6200345cdfcf34ab4cd6b50cc268152324f9dd.tar.bz2 cuberite-cb6200345cdfcf34ab4cd6b50cc268152324f9dd.tar.lz cuberite-cb6200345cdfcf34ab4cd6b50cc268152324f9dd.tar.xz cuberite-cb6200345cdfcf34ab4cd6b50cc268152324f9dd.tar.zst cuberite-cb6200345cdfcf34ab4cd6b50cc268152324f9dd.zip |
Diffstat (limited to 'src')
-rw-r--r-- | src/Chunk.cpp | 18 | ||||
-rw-r--r-- | src/Chunk.h | 8 |
2 files changed, 7 insertions, 19 deletions
diff --git a/src/Chunk.cpp b/src/Chunk.cpp index 0303e1502..a986ac076 100644 --- a/src/Chunk.cpp +++ b/src/Chunk.cpp @@ -1568,24 +1568,6 @@ void cChunk::FastSetBlock(int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE a_BlockT -void cChunk::SetMeta(int a_BlockIdx, NIBBLETYPE a_Meta) -{ - if (GetNibble(m_BlockMeta, a_BlockIdx) == a_Meta) - { - return; - } - - MarkDirty(); - SetNibble(m_BlockMeta, a_BlockIdx, a_Meta); - Vector3i Coords(IndexToCoordinate(a_BlockIdx)); - - m_PendingSendBlocks.push_back(sSetBlock(m_PosX, m_PosZ, Coords.x, Coords.y, Coords.z, GetBlock(a_BlockIdx), a_Meta)); -} - - - - - void cChunk::SendBlockTo(int a_RelX, int a_RelY, int a_RelZ, cClientHandle * a_Client) { diff --git a/src/Chunk.h b/src/Chunk.h index d2328971f..26f1e9d10 100644 --- a/src/Chunk.h +++ b/src/Chunk.h @@ -328,7 +328,13 @@ public: } inline void SetMeta(int a_RelX, int a_RelY, int a_RelZ, NIBBLETYPE a_Meta) { - m_ChunkBuffer.SetMeta(a_RelX, a_RelY, a_RelZ, a_Meta); + if (!GetMeta(a_RelX, a_RelY, a_RelZ) == a_Meta) + { + MarkDirty(); + m_ChunkBuffer.SetMeta(a_RelX, a_RelY, a_RelZ, a_Meta); + + m_PendingSendBlocks.push_back(sSetBlock(m_PosX, m_PosZ, a_RelX, a_RelY, a_RelZ, GetBlock(a_RelX, a_RelY, a_RelZ), a_Meta)); + } } inline NIBBLETYPE GetBlockLight(int a_RelX, int a_RelY, int a_RelZ) const {return m_ChunkBuffer.GetBlockLight(a_RelX, a_RelY, a_RelZ); } |