diff options
author | Tiger Wang <ziwei.tiger@hotmail.co.uk> | 2014-02-18 23:13:44 +0100 |
---|---|---|
committer | Tiger Wang <ziwei.tiger@hotmail.co.uk> | 2014-02-18 23:13:44 +0100 |
commit | a686656253b9bd11238b2ae2210f809b49c355b9 (patch) | |
tree | 112663e0d7be31401232bd6e3f4f10852776639e /src/World.cpp | |
parent | Merge branch 'itemframes' of https://github.com/mc-server/MCServer into itemframes (diff) | |
parent | Merge pull request #696 from mc-server/paintings (diff) | |
download | cuberite-a686656253b9bd11238b2ae2210f809b49c355b9.tar cuberite-a686656253b9bd11238b2ae2210f809b49c355b9.tar.gz cuberite-a686656253b9bd11238b2ae2210f809b49c355b9.tar.bz2 cuberite-a686656253b9bd11238b2ae2210f809b49c355b9.tar.lz cuberite-a686656253b9bd11238b2ae2210f809b49c355b9.tar.xz cuberite-a686656253b9bd11238b2ae2210f809b49c355b9.tar.zst cuberite-a686656253b9bd11238b2ae2210f809b49c355b9.zip |
Diffstat (limited to 'src/World.cpp')
-rw-r--r-- | src/World.cpp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/World.cpp b/src/World.cpp index d67ad36d1..e57675c44 100644 --- a/src/World.cpp +++ b/src/World.cpp @@ -1487,6 +1487,37 @@ EMCSBiome cWorld::GetBiomeAt (int a_BlockX, int a_BlockZ) +bool cWorld::SetBiomeAt(int a_BlockX, int a_BlockZ, EMCSBiome a_Biome) +{ + return m_ChunkMap->SetBiomeAt(a_BlockX, a_BlockZ, a_Biome); +} + + + + + +bool cWorld::SetAreaBiome(int a_MinX, int a_MaxX, int a_MinZ, int a_MaxZ, EMCSBiome a_Biome) +{ + return m_ChunkMap->SetAreaBiome(a_MinX, a_MaxX, a_MinZ, a_MaxZ, a_Biome); +} + + + + + +bool cWorld::SetAreaBiome(const cCuboid & a_Area, EMCSBiome a_Biome) +{ + return SetAreaBiome( + std::min(a_Area.p1.x, a_Area.p2.x), std::max(a_Area.p1.x, a_Area.p2.x), + std::min(a_Area.p1.z, a_Area.p2.z), std::max(a_Area.p1.z, a_Area.p2.z), + a_Biome + ); +} + + + + + void cWorld::SetBlock(int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) { m_ChunkMap->SetBlock(*this, a_BlockX, a_BlockY, a_BlockZ, a_BlockType, a_BlockMeta); @@ -2490,6 +2521,16 @@ void cWorld::SendChunkTo(int a_ChunkX, int a_ChunkZ, cClientHandle * a_Client) +void cWorld::ForceSendChunkTo(int a_ChunkX, int a_ChunkZ, cClientHandle * a_Client) +{ + a_Client->AddWantedChunk(a_ChunkX, a_ChunkZ); + m_ChunkSender.QueueSendChunkTo(a_ChunkX, a_ChunkZ, a_Client); +} + + + + + void cWorld::RemoveClientFromChunkSender(cClientHandle * a_Client) { m_ChunkSender.RemoveClient(a_Client); |