diff options
author | Tycho <work.tycho+git@gmail.com> | 2014-05-10 14:05:44 +0200 |
---|---|---|
committer | Tycho <work.tycho+git@gmail.com> | 2014-05-10 14:05:44 +0200 |
commit | d478e3cfb19c0347ba0b5513d3250af9d69443de (patch) | |
tree | aaba81bda1ee2e53e5e4d9fdad0c2998ba8edb0f /src/Chunk.cpp | |
parent | Maybe coverage working? (diff) | |
parent | Merge pull request #992 from mc-server/coverity_fixes (diff) | |
download | cuberite-d478e3cfb19c0347ba0b5513d3250af9d69443de.tar cuberite-d478e3cfb19c0347ba0b5513d3250af9d69443de.tar.gz cuberite-d478e3cfb19c0347ba0b5513d3250af9d69443de.tar.bz2 cuberite-d478e3cfb19c0347ba0b5513d3250af9d69443de.tar.lz cuberite-d478e3cfb19c0347ba0b5513d3250af9d69443de.tar.xz cuberite-d478e3cfb19c0347ba0b5513d3250af9d69443de.tar.zst cuberite-d478e3cfb19c0347ba0b5513d3250af9d69443de.zip |
Diffstat (limited to 'src/Chunk.cpp')
-rw-r--r-- | src/Chunk.cpp | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/Chunk.cpp b/src/Chunk.cpp index 6b0058303..0303e1502 100644 --- a/src/Chunk.cpp +++ b/src/Chunk.cpp @@ -689,7 +689,7 @@ void cChunk::ProcessQueuedSetBlocks(void) { if (itr->m_Tick <= CurrTick) { - if (itr->m_PreviousType != E_BLOCK_AIR) // PreviousType defaults to -1 if not specified + if (itr->m_PreviousType != E_BLOCK_AIR) // PreviousType defaults to 0 if not specified { if (GetBlock(itr->m_RelX, itr->m_RelY, itr->m_RelZ) == itr->m_PreviousType) { @@ -1568,6 +1568,24 @@ 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) { |