From 221cc4ec5cb6301743e947eaabed3fecedba796f Mon Sep 17 00:00:00 2001 From: Mattes D Date: Wed, 16 Oct 2019 10:06:34 +0200 Subject: Refactored block-to-pickup conversion. (#4417) --- src/Blocks/BlockStone.h | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) (limited to 'src/Blocks/BlockStone.h') diff --git a/src/Blocks/BlockStone.h b/src/Blocks/BlockStone.h index e1522a2a2..f691d4452 100644 --- a/src/Blocks/BlockStone.h +++ b/src/Blocks/BlockStone.h @@ -6,25 +6,39 @@ -class cBlockStoneHandler : +class cBlockStoneHandler: public cBlockHandler { + using super = cBlockHandler; + public: - cBlockStoneHandler(BLOCKTYPE a_BlockType) - : cBlockHandler(a_BlockType) + + cBlockStoneHandler(BLOCKTYPE a_BlockType): + super(a_BlockType) { } - virtual void ConvertToPickups(cItems & a_Pickups, NIBBLETYPE a_BlockMeta) override + + + + + virtual cItems ConvertToPickups(NIBBLETYPE a_BlockMeta, cBlockEntity * a_BlockEntity, const cEntity * a_Digger, const cItem * a_Tool) override { - if (a_BlockMeta == E_META_STONE_STONE) + // Convert stone to cobblestone, unless using silk-touch: + if ( + (a_BlockMeta == E_META_STONE_STONE) && + !ToolHasSilkTouch(a_Tool) + ) { - a_Pickups.push_back(cItem(E_BLOCK_COBBLESTONE, 1, 0)); - return; + return cItem(E_BLOCK_COBBLESTONE, 1, 0); } - a_Pickups.push_back(cItem(E_BLOCK_STONE, 1, a_BlockMeta)); + return cItem(m_BlockType, 1, a_BlockMeta); } + + + + virtual ColourID GetMapBaseColourID(NIBBLETYPE a_Meta) override { UNUSED(a_Meta); -- cgit v1.2.3