summaryrefslogtreecommitdiffstats
path: root/source/ChunkMap.cpp
diff options
context:
space:
mode:
authorTiger Wang <ziwei.tiger@hotmail.co.uk>2013-08-18 16:58:27 +0200
committerTiger Wang <ziwei.tiger@hotmail.co.uk>2013-08-18 16:58:27 +0200
commitfb32c28f8097db8a8d200888f40b1fca8ee71024 (patch)
treef9c3243c1260eb5fa30dceb20e1451a399573b21 /source/ChunkMap.cpp
parentMade cPiston code more readable and configurable. (diff)
parentAdded checks to bail out if block entities are being pushed by a piston (diff)
downloadcuberite-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.cpp18
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;