From ea2ed2c918bddf773bb8d10298016f4e5309d0b2 Mon Sep 17 00:00:00 2001 From: "madmaxoft@gmail.com" Date: Wed, 3 Oct 2012 08:52:11 +0000 Subject: Moved blockticking into blockhandler classes. Also slightly refactored the variable / argument names (BlockID is deprecated, use BlockType instead) git-svn-id: http://mc-server.googlecode.com/svn/trunk@921 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/Blocks/BlockCactus.h | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) (limited to 'source/Blocks/BlockCactus.h') diff --git a/source/Blocks/BlockCactus.h b/source/Blocks/BlockCactus.h index 6eec866be..daa0e02c2 100644 --- a/source/Blocks/BlockCactus.h +++ b/source/Blocks/BlockCactus.h @@ -11,8 +11,8 @@ class cBlockCactusHandler : public cBlockHandler { public: - cBlockCactusHandler(BLOCKTYPE a_BlockID) - : cBlockHandler(a_BlockID) + cBlockCactusHandler(BLOCKTYPE a_BlockType) + : cBlockHandler(a_BlockType) { } @@ -20,13 +20,13 @@ public: virtual void ConvertToPickups(cItems & a_Pickups, NIBBLETYPE a_BlockMeta) override { // Reset meta to 0 - a_Pickups.push_back(cItem(m_BlockID, 1, 0)); + a_Pickups.push_back(cItem(m_BlockType, 1, 0)); } - virtual bool CanBeAt(cWorld * a_World, int a_X, int a_Y, int a_Z) override + virtual bool CanBeAt(cWorld * a_World, int a_BlockX, int a_BlockY, int a_BlockZ) override { - BLOCKTYPE Surface = a_World->GetBlock(a_X, a_Y - 1, a_Z); + BLOCKTYPE Surface = a_World->GetBlock(a_BlockX, a_BlockY - 1, a_BlockZ); if ((Surface != E_BLOCK_SAND) && (Surface != E_BLOCK_CACTUS)) { // Cactus can only be placed on sand and itself @@ -35,10 +35,10 @@ public: // Check surroundings. Cacti may ONLY be surrounded by air if ( - (a_World->GetBlock(a_X - 1, a_Y, a_Z) != E_BLOCK_AIR) || - (a_World->GetBlock(a_X + 1, a_Y, a_Z) != E_BLOCK_AIR) || - (a_World->GetBlock(a_X, a_Y, a_Z - 1) != E_BLOCK_AIR) || - (a_World->GetBlock(a_X, a_Y, a_Z + 1) != E_BLOCK_AIR) + (a_World->GetBlock(a_BlockX - 1, a_BlockY, a_BlockZ) != E_BLOCK_AIR) || + (a_World->GetBlock(a_BlockX + 1, a_BlockY, a_BlockZ) != E_BLOCK_AIR) || + (a_World->GetBlock(a_BlockX, a_BlockY, a_BlockZ - 1) != E_BLOCK_AIR) || + (a_World->GetBlock(a_BlockX, a_BlockY, a_BlockZ + 1) != E_BLOCK_AIR) ) { return false; @@ -54,6 +54,12 @@ public: } + void OnUpdate(cWorld * a_World, int a_BlockX, int a_BlockY, int a_BlockZ) override + { + a_World->GrowCactus(a_BlockX, a_BlockY, a_BlockZ, 1); + } + + virtual const char * GetStepSound(void) override { return "step.cloth"; -- cgit v1.2.3