From a62b2b1be2103d7de2fd66c7304b7473e369be3c Mon Sep 17 00:00:00 2001 From: Tiger Wang Date: Wed, 5 May 2021 14:25:10 +0100 Subject: Move item placement into item handlers (#5184) * Move item placement into item handlers + Add appropriate CanBeAt checks in cPlayer::PlaceBlocks, into which all placement handlers call. * Partly addresses #5157 * Fixes #4878 * Fixes #2919 * Fixes #4629 * Fixes #4239 * Fixes #4849 Co-authored-by: changyong guo Co-authored-by: Xotheus Co-authored-by: Krist Pregracke * Review fixes * Update APIDesc.lua * Rename Co-authored-by: changyong guo Co-authored-by: Xotheus Co-authored-by: Krist Pregracke --- src/Blocks/BlockQuartz.h | 60 ------------------------------------------------ 1 file changed, 60 deletions(-) (limited to 'src/Blocks/BlockQuartz.h') diff --git a/src/Blocks/BlockQuartz.h b/src/Blocks/BlockQuartz.h index d05c05ba3..bc10985df 100644 --- a/src/Blocks/BlockQuartz.h +++ b/src/Blocks/BlockQuartz.h @@ -18,66 +18,6 @@ public: private: - virtual bool GetPlacementBlockTypeMeta( - cChunkInterface & a_ChunkInterface, - cPlayer & a_Player, - const Vector3i a_PlacedBlockPos, - eBlockFace a_ClickedBlockFace, - const Vector3i a_CursorPos, - BLOCKTYPE & a_BlockType, NIBBLETYPE & a_BlockMeta - ) const override - { - a_BlockType = m_BlockType; - auto Meta = static_cast(a_Player.GetEquippedItem().m_ItemDamage); - - // Pillar block needs additional direction in the metadata: - if (Meta != E_META_QUARTZ_PILLAR) - { - a_BlockMeta = Meta; - return true; - } - a_BlockMeta = BlockFaceToMetaData(a_ClickedBlockFace); - return true; - } - - - - - - /** Converts the block face of the pillar block's "base" to the block's metadata. */ - inline static NIBBLETYPE BlockFaceToMetaData(eBlockFace a_BlockFace) - { - switch (a_BlockFace) - { - case BLOCK_FACE_YM: - case BLOCK_FACE_YP: - { - return E_META_QUARTZ_PILLAR; // Top or bottom - } - - case BLOCK_FACE_ZP: - case BLOCK_FACE_ZM: - { - return 0x4; // North or south - } - - case BLOCK_FACE_XP: - case BLOCK_FACE_XM: - { - return 0x3; // East or west - } - - default: - { - return E_META_QUARTZ_PILLAR; - } - } - } - - - - - virtual ColourID GetMapBaseColourID(NIBBLETYPE a_Meta) const override { UNUSED(a_Meta); -- cgit v1.2.3