#pragma once #include "BlockHandler.h" class cBlockPlanksHandler : public cBlockHandler { public: cBlockPlanksHandler(BLOCKTYPE a_BlockType) : cBlockHandler(a_BlockType) { } virtual bool GetPlacementBlockTypeMeta( cChunkInterface & a_ChunkInterface, cPlayer * a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, int a_CursorX, int a_CursorY, int a_CursorZ, BLOCKTYPE & a_BlockType, NIBBLETYPE & a_BlockMeta ) override { a_BlockType = m_BlockType; a_BlockMeta = static_cast(a_Player->GetEquippedItem().m_ItemDamage); return true; } virtual ColourID GetMapBaseColourID(NIBBLETYPE a_Meta) override { switch (a_Meta) { case E_META_PLANKS_BIRCH: return 2; case E_META_PLANKS_JUNGLE: return 10; case E_META_PLANKS_OAK: return 13; case E_META_PLANKS_ACACIA: return 15; case E_META_PLANKS_DARK_OAK: return 26; case E_META_PLANKS_SPRUCE: return 34; default: { ASSERT(!"Unhandled meta in planks handler!"); return 0; } } } } ;