From 3ccba12e390dc83b08393ad922b91825be2eedb7 Mon Sep 17 00:00:00 2001 From: faketruth Date: Sun, 9 Jun 2013 15:16:07 +0000 Subject: Added dead bush block handler so a dead bush pickup is dropped when the sand underneath it is removed. git-svn-id: http://mc-server.googlecode.com/svn/trunk@1569 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/Blocks/BlockDeadBush.h | 47 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 source/Blocks/BlockDeadBush.h (limited to 'source/Blocks/BlockDeadBush.h') diff --git a/source/Blocks/BlockDeadBush.h b/source/Blocks/BlockDeadBush.h new file mode 100644 index 000000000..cfa872b2c --- /dev/null +++ b/source/Blocks/BlockDeadBush.h @@ -0,0 +1,47 @@ + +#pragma once + +#include "BlockHandler.h" +#include "../World.h" + + + + + +class cBlockDeadBushHandler : + public cBlockHandler +{ +public: + cBlockDeadBushHandler(BLOCKTYPE a_BlockType) + : cBlockHandler(a_BlockType) + { + } + + + virtual void ConvertToPickups(cItems & a_Pickups, NIBBLETYPE a_BlockMeta) override + { + a_Pickups.push_back(cItem(E_BLOCK_DEAD_BUSH, 1, a_BlockMeta)); + } + + + virtual bool CanBeAt(int a_RelX, int a_RelY, int a_RelZ, const cChunk & a_Chunk) override + { + return (a_RelY > 0) && (a_Chunk.GetBlock(a_RelX, a_RelY - 1, a_RelZ) == E_BLOCK_SAND); + } + + + virtual bool DoesAllowBlockOnTop(void) override + { + return false; + } + + + virtual bool CanBePlacedOnSide() override + { + return false; + } +} ; + + + + -- cgit v1.2.3