summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormadmaxoft <github@xoft.cz>2013-08-18 20:00:50 +0200
committermadmaxoft <github@xoft.cz>2013-08-18 20:00:50 +0200
commit861d5c75c968ab1fa5fbb3388b02ebd2e85afc56 (patch)
tree4d5cf06aac0a07418fbb0e85f781558810690cba
parentFixed piston code griefing damage. (diff)
downloadcuberite-861d5c75c968ab1fa5fbb3388b02ebd2e85afc56.tar
cuberite-861d5c75c968ab1fa5fbb3388b02ebd2e85afc56.tar.gz
cuberite-861d5c75c968ab1fa5fbb3388b02ebd2e85afc56.tar.bz2
cuberite-861d5c75c968ab1fa5fbb3388b02ebd2e85afc56.tar.lz
cuberite-861d5c75c968ab1fa5fbb3388b02ebd2e85afc56.tar.xz
cuberite-861d5c75c968ab1fa5fbb3388b02ebd2e85afc56.tar.zst
cuberite-861d5c75c968ab1fa5fbb3388b02ebd2e85afc56.zip
Diffstat (limited to '')
-rw-r--r--source/Chunk.cpp55
-rw-r--r--source/Chunk.h2
-rw-r--r--source/ChunkMap.cpp18
-rw-r--r--source/ChunkMap.h1
-rw-r--r--source/Piston.cpp14
-rw-r--r--source/World.cpp15
-rw-r--r--source/World.h1
7 files changed, 7 insertions, 99 deletions
diff --git a/source/Chunk.cpp b/source/Chunk.cpp
index 7bff3fdc9..62d411b0c 100644
--- a/source/Chunk.cpp
+++ b/source/Chunk.cpp
@@ -1607,61 +1607,6 @@ void cChunk::FastSetBlock(int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE a_BlockT
-void cChunk::SetServerBlock(int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE a_BlockType, BLOCKTYPE a_BlockMeta)
-{
- ASSERT(!((a_RelX < 0) || (a_RelX >= Width) || (a_RelY < 0) || (a_RelY >= Height) || (a_RelZ < 0) || (a_RelZ >= Width)));
-
- ASSERT(IsValid());
-
- const int index = MakeIndexNoCheck(a_RelX, a_RelY, a_RelZ);
- const BLOCKTYPE OldBlockType = cChunkDef::GetBlock(m_BlockTypes, index);
- const BLOCKTYPE OldBlockMeta = GetNibble(m_BlockMeta, index);
- if ((OldBlockType == a_BlockType) && (OldBlockMeta == a_BlockMeta))
- {
- return;
- }
-
- MarkDirty();
-
- m_BlockTypes[index] = a_BlockType;
-
- SetNibble(m_BlockMeta, index, a_BlockMeta);
-
- // ONLY recalculate lighting if it's necessary!
- if(
- (g_BlockLightValue[OldBlockType ] != g_BlockLightValue[a_BlockType]) ||
- (g_BlockSpreadLightFalloff[OldBlockType] != g_BlockSpreadLightFalloff[a_BlockType]) ||
- (g_BlockTransparent[OldBlockType] != g_BlockTransparent[a_BlockType])
- )
- {
- m_IsLightValid = false;
- }
-
- // Update heightmap, if needed:
- if (a_RelY >= m_HeightMap[a_RelX + a_RelZ * Width])
- {
- if (a_BlockType != E_BLOCK_AIR)
- {
- m_HeightMap[a_RelX + a_RelZ * Width] = (unsigned char)a_RelY;
- }
- else
- {
- for (int y = a_RelY - 1; y > 0; --y)
- {
- if (m_BlockTypes[MakeIndexNoCheck(a_RelX, y, a_RelZ)] != E_BLOCK_AIR)
- {
- m_HeightMap[a_RelX + a_RelZ * Width] = (unsigned char)y;
- break;
- }
- } // for y - column in m_BlockData
- }
- }
-}
-
-
-
-
-
void cChunk::SendBlockTo(int a_RelX, int a_RelY, int a_RelZ, cClientHandle * a_Client)
{
// The coords must be valid, because the upper level already does chunk lookup. No need to check them again.
diff --git a/source/Chunk.h b/source/Chunk.h
index 61f11d6d5..c4eeab6ae 100644
--- a/source/Chunk.h
+++ b/source/Chunk.h
@@ -148,8 +148,6 @@ public:
void GetBlockTypeMeta(int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE & a_BlockType, NIBBLETYPE & a_BlockMeta);
void GetBlockInfo (int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE & a_BlockType, NIBBLETYPE & a_Meta, NIBBLETYPE & a_SkyLight, NIBBLETYPE & a_BlockLight);
- void SetServerBlock(int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE a_BlockType, BLOCKTYPE a_BlockMeta );
-
/** Returns the chunk into which the specified block belongs, by walking the neighbors.
Will return self if appropriate. Returns NULL if not reachable through neighbors.
*/
diff --git a/source/ChunkMap.cpp b/source/ChunkMap.cpp
index 4180ae327..5a16495e6 100644
--- a/source/ChunkMap.cpp
+++ b/source/ChunkMap.cpp
@@ -1171,24 +1171,6 @@ 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;
diff --git a/source/ChunkMap.h b/source/ChunkMap.h
index 07ad4feaa..208d2824e 100644
--- a/source/ChunkMap.h
+++ b/source/ChunkMap.h
@@ -135,7 +135,6 @@ public:
NIBBLETYPE GetBlockBlockLight(int a_BlockX, int a_BlockY, int a_BlockZ);
void SetBlockMeta (int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE a_BlockMeta);
void SetBlock (int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE a_BlockType, BLOCKTYPE a_BlockMeta);
- void SetServerBlock (int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE a_BlockType, BLOCKTYPE a_BlockMeta);
bool GetBlockTypeMeta (int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE & a_BlockType, NIBBLETYPE & a_BlockMeta);
bool GetBlockInfo (int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE & a_BlockType, NIBBLETYPE & a_Meta, NIBBLETYPE & a_SkyLight, NIBBLETYPE & a_BlockLight);
diff --git a/source/Piston.cpp b/source/Piston.cpp
index 4ea0ce9d1..57fe305c2 100644
--- a/source/Piston.cpp
+++ b/source/Piston.cpp
@@ -99,7 +99,7 @@ void cPiston::ExtendPiston(int pistx, int pisty, int pistz)
{
AddDir(pistx, pisty, pistz, pistonMeta, -1);
m_World->GetBlockTypeMeta(pistx, pisty, pistz, currBlock, currBlockMeta);
- m_World->SetServerBlock( oldx, oldy, oldz, currBlock, currBlockMeta);
+ m_World->SetBlock( oldx, oldy, oldz, currBlock, currBlockMeta);
oldx = pistx;
oldy = pisty;
oldz = pistz;
@@ -114,7 +114,7 @@ void cPiston::ExtendPiston(int pistx, int pisty, int pistz)
m_World->BroadcastBlockAction(pistx, pisty, pistz, 0, pistonMeta, pistonBlock);
m_World->BroadcastSoundEffect("tile.piston.out", pistx * 8, pisty * 8, pistz * 8, 0.5f, 0.7f);
m_World->FastSetBlock( pistx, pisty, pistz, pistonBlock, pistonMeta | 0x8 );
- m_World->SetServerBlock(extx, exty, extz, E_BLOCK_PISTON_EXTENSION, pistonMeta | (IsSticky(pistonBlock) ? 8 : 0));
+ m_World->SetBlock(extx, exty, extz, E_BLOCK_PISTON_EXTENSION, pistonMeta | (IsSticky(pistonBlock) ? 8 : 0));
}
@@ -134,7 +134,7 @@ void cPiston::RetractPiston( int pistx, int pisty, int pistz )
m_World->BroadcastBlockAction(pistx, pisty, pistz, 1, pistonMeta & ~(8), pistonBlock);
m_World->BroadcastSoundEffect("tile.piston.in", pistx * 8, pisty * 8, pistz * 8, 0.5f, 0.7f);
- m_World->SetServerBlock(pistx, pisty, pistz, pistonBlock, pistonMeta & ~(8));
+ m_World->SetBlock(pistx, pisty, pistz, pistonBlock, pistonMeta & ~(8));
// Check the extension:
@@ -156,18 +156,18 @@ void cPiston::RetractPiston( int pistx, int pisty, int pistz )
if (CanPull(tempBlock, tempMeta))
{
// Pull the block
- m_World->SetServerBlock(pistx, pisty, pistz, tempBlock, tempMeta);
- m_World->SetServerBlock(tempx, tempy, tempz, E_BLOCK_AIR, 0);
+ m_World->SetBlock(pistx, pisty, pistz, tempBlock, tempMeta);
+ m_World->SetBlock(tempx, tempy, tempz, E_BLOCK_AIR, 0);
}
else
{
// Retract without pulling
- m_World->SetServerBlock(pistx, pisty, pistz, E_BLOCK_AIR, 0);
+ m_World->SetBlock(pistx, pisty, pistz, E_BLOCK_AIR, 0);
}
}
else
{
- m_World->SetServerBlock(pistx, pisty, pistz, E_BLOCK_AIR, 0);
+ m_World->SetBlock(pistx, pisty, pistz, E_BLOCK_AIR, 0);
}
}
diff --git a/source/World.cpp b/source/World.cpp
index 97186fa24..e63e45498 100644
--- a/source/World.cpp
+++ b/source/World.cpp
@@ -1385,21 +1385,6 @@ void cWorld::FastSetBlock(int a_X, int a_Y, int a_Z, BLOCKTYPE a_BlockType, NIBB
-void cWorld::SetServerBlock(int a_X, int a_Y, int a_Z, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta)
-{
- if (a_BlockType == E_BLOCK_AIR)
- {
- BlockHandler(GetBlock(a_X, a_Y, a_Z))->OnDestroyed(this, a_X, a_Y, a_Z);
- }
- m_ChunkMap->SetServerBlock(a_X, a_Y, a_Z, a_BlockType, a_BlockMeta);
-
- BlockHandler(a_BlockType)->OnPlaced(this, a_X, a_Y, a_Z, a_BlockType, a_BlockMeta);
-}
-
-
-
-
-
BLOCKTYPE cWorld::GetBlock(int a_X, int a_Y, int a_Z)
{
// First check if it isn't queued in the m_FastSetBlockQueue:
diff --git a/source/World.h b/source/World.h
index 34e350a04..5d3de06d0 100644
--- a/source/World.h
+++ b/source/World.h
@@ -313,7 +313,6 @@ public:
// tolua_begin
void SetBlock (int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta);
void FastSetBlock (int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta);
- void SetServerBlock (int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta);
BLOCKTYPE GetBlock (int a_BlockX, int a_BlockY, int a_BlockZ);
NIBBLETYPE GetBlockMeta (int a_BlockX, int a_BlockY, int a_BlockZ);
void SetBlockMeta (int a_BlockX, int a_BlockY, int a_BlockZ, NIBBLETYPE a_MetaData);