summaryrefslogtreecommitdiffstats
path: root/source/Items/ItemLeaves.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/Items/ItemLeaves.h')
-rw-r--r--source/Items/ItemLeaves.h20
1 files changed, 17 insertions, 3 deletions
diff --git a/source/Items/ItemLeaves.h b/source/Items/ItemLeaves.h
index 053bf6fb0..14d63a630 100644
--- a/source/Items/ItemLeaves.h
+++ b/source/Items/ItemLeaves.h
@@ -10,15 +10,29 @@
class cItemLeavesHandler :
public cItemHandler
{
+ typedef cItemHandler super;
+
public:
cItemLeavesHandler(int a_ItemType)
: cItemHandler(a_ItemType)
{
}
-
- virtual NIBBLETYPE GetBlockMeta(short a_ItemDamage) override
+
+ virtual bool GetPlacementBlockTypeMeta(
+ cWorld * a_World, cPlayer * a_Player,
+ int a_BlockX, int a_BlockY, int a_BlockZ, char a_BlockFace,
+ int a_CursorX, int a_CursorY, int a_CursorZ,
+ BLOCKTYPE & a_BlockType, NIBBLETYPE & a_BlockMeta
+ ) override
{
- return (NIBBLETYPE)(a_ItemDamage & 0x0f) | 0x4; //0x4 bit set means this is a player-placed leaves block, not to be decayed
+ bool res = super::GetPlacementBlockTypeMeta(
+ a_World, a_Player,
+ a_BlockX, a_BlockY, a_BlockZ, a_BlockFace,
+ a_CursorX, a_CursorY, a_CursorZ,
+ a_BlockType, a_BlockMeta
+ );
+ a_BlockMeta = a_BlockMeta | 0x4; //0x4 bit set means this is a player-placed leaves block, not to be decayed
+ return res;
}
} ;