summaryrefslogtreecommitdiffstats
path: root/src/ChunkMap.cpp
diff options
context:
space:
mode:
authorTycho Bickerstaff <work.tycho@gmail.com>2013-12-22 16:21:34 +0100
committerTycho Bickerstaff <work.tycho@gmail.com>2013-12-22 16:21:34 +0100
commit1a9d93665f9f82ccd9054aa1c8e9c24f13776a91 (patch)
treee9572b3fdf1d47c0769a3d43d3fc4dfac68fd0dd /src/ChunkMap.cpp
parentbasic threadsafe queue interface (diff)
parentUpdate GETTING-STARTED.md (diff)
downloadcuberite-1a9d93665f9f82ccd9054aa1c8e9c24f13776a91.tar
cuberite-1a9d93665f9f82ccd9054aa1c8e9c24f13776a91.tar.gz
cuberite-1a9d93665f9f82ccd9054aa1c8e9c24f13776a91.tar.bz2
cuberite-1a9d93665f9f82ccd9054aa1c8e9c24f13776a91.tar.lz
cuberite-1a9d93665f9f82ccd9054aa1c8e9c24f13776a91.tar.xz
cuberite-1a9d93665f9f82ccd9054aa1c8e9c24f13776a91.tar.zst
cuberite-1a9d93665f9f82ccd9054aa1c8e9c24f13776a91.zip
Diffstat (limited to '')
-rw-r--r--src/ChunkMap.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/ChunkMap.cpp b/src/ChunkMap.cpp
index c67d8e2e8..86fbceff7 100644
--- a/src/ChunkMap.cpp
+++ b/src/ChunkMap.cpp
@@ -605,6 +605,25 @@ void cChunkMap::BroadcastEntityAnimation(const cEntity & a_Entity, char a_Animat
+void cChunkMap::BroadcastParticleEffect(const AString & a_ParticleName, float a_SrcX, float a_SrcY, float a_SrcZ, float a_OffsetX, float a_OffsetY, float a_OffsetZ, float a_ParticleData, int a_ParticleAmmount, cClientHandle * a_Exclude)
+{
+ cCSLock Lock(m_CSLayers);
+ int ChunkX, ChunkZ;
+
+ cChunkDef::BlockToChunk((int) a_SrcX, (int) a_SrcZ, ChunkX, ChunkZ);
+ cChunkPtr Chunk = GetChunkNoGen(ChunkX, 0, ChunkZ);
+ if (Chunk == NULL)
+ {
+ return;
+ }
+ // It's perfectly legal to broadcast packets even to invalid chunks!
+ Chunk->BroadcastParticleEffect(a_ParticleName, a_SrcX, a_SrcY, a_SrcZ, a_OffsetX, a_OffsetY, a_OffsetZ, a_ParticleData, a_ParticleAmmount, a_Exclude);
+}
+
+
+
+
+
void cChunkMap::BroadcastRemoveEntityEffect(const cEntity & a_Entity, int a_EffectID, const cClientHandle * a_Exclude)
{
cCSLock Lock(m_CSLayers);