diff options
author | Tiger Wang <ziwei.tiger@hotmail.co.uk> | 2013-08-18 16:58:27 +0200 |
---|---|---|
committer | Tiger Wang <ziwei.tiger@hotmail.co.uk> | 2013-08-18 16:58:27 +0200 |
commit | fb32c28f8097db8a8d200888f40b1fca8ee71024 (patch) | |
tree | f9c3243c1260eb5fa30dceb20e1451a399573b21 /source/ChunkMap.cpp | |
parent | Made cPiston code more readable and configurable. (diff) | |
parent | Added checks to bail out if block entities are being pushed by a piston (diff) | |
download | cuberite-fb32c28f8097db8a8d200888f40b1fca8ee71024.tar cuberite-fb32c28f8097db8a8d200888f40b1fca8ee71024.tar.gz cuberite-fb32c28f8097db8a8d200888f40b1fca8ee71024.tar.bz2 cuberite-fb32c28f8097db8a8d200888f40b1fca8ee71024.tar.lz cuberite-fb32c28f8097db8a8d200888f40b1fca8ee71024.tar.xz cuberite-fb32c28f8097db8a8d200888f40b1fca8ee71024.tar.zst cuberite-fb32c28f8097db8a8d200888f40b1fca8ee71024.zip |
Diffstat (limited to 'source/ChunkMap.cpp')
-rw-r--r-- | source/ChunkMap.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/source/ChunkMap.cpp b/source/ChunkMap.cpp index 5a16495e6..4180ae327 100644 --- a/source/ChunkMap.cpp +++ b/source/ChunkMap.cpp @@ -1171,6 +1171,24 @@ void cChunkMap::SetBlock(int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE a_B +void cChunkMap::SetServerBlock(int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE a_BlockType, BLOCKTYPE a_BlockMeta) +{ + int ChunkX, ChunkZ, X = a_BlockX, Y = a_BlockY, Z = a_BlockZ; + cChunkDef::AbsoluteToRelative( X, Y, Z, ChunkX, ChunkZ ); + + cCSLock Lock(m_CSLayers); + cChunkPtr Chunk = GetChunk( ChunkX, ZERO_CHUNK_Y, ChunkZ ); + if ((Chunk != NULL) && Chunk->IsValid()) + { + Chunk->SetServerBlock(X, Y, Z, a_BlockType, a_BlockMeta ); + m_World->GetSimulatorManager()->WakeUp(a_BlockX, a_BlockY, a_BlockZ, Chunk); + } +} + + + + + bool cChunkMap::GetBlockTypeMeta(int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE & a_BlockType, NIBBLETYPE & a_BlockMeta) { int ChunkX, ChunkZ, X = a_BlockX, Y = a_BlockY, Z = a_BlockZ; |