summaryrefslogtreecommitdiffstats
path: root/source/Items/ItemShears.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/Items/ItemShears.h')
-rw-r--r--source/Items/ItemShears.h49
1 files changed, 35 insertions, 14 deletions
diff --git a/source/Items/ItemShears.h b/source/Items/ItemShears.h
index 7e2ad61fe..743cbeaec 100644
--- a/source/Items/ItemShears.h
+++ b/source/Items/ItemShears.h
@@ -5,38 +5,59 @@
#include "../World.h"
#include "../Player.h"
-class cItemShearsHandler : public cItemHandler
+
+
+
+
+class cItemShearsHandler :
+ public cItemHandler
{
public:
- cItemShearsHandler(int a_ItemID)
- : cItemHandler(a_ItemID)
+ cItemShearsHandler(int a_ItemType) :
+ cItemHandler(a_ItemType)
{
-
}
- virtual bool IsTool() override
+
+
+ virtual bool IsTool(void) override
{
return true;
}
- virtual bool OnDiggingBlock(cWorld *a_World, cPlayer *a_Player, cItem *a_Item, int a_X, int a_Y, int a_Z, char a_Dir) override
+
+
+ virtual bool OnDiggingBlock(cWorld *a_World, cPlayer *a_Player, cItem *a_Item, int a_BlockX, int a_BlockY, int a_BlockZ, char a_Dir) override
{
- BLOCKTYPE Block = a_World->GetBlock(a_X, a_Y, a_Z);
- if(Block == E_BLOCK_LEAVES)
+ BLOCKTYPE Block = a_World->GetBlock(a_BlockX, a_BlockY, a_BlockZ);
+ if (Block == E_BLOCK_LEAVES)
{
cItems Drops;
- Drops.push_back(cItem(E_ITEM_LEAVES, 1, a_World->GetBlockMeta(a_X, a_Y, a_Z)));
- a_World->SpawnItemPickups(Drops, a_X, a_Y, a_Z);
+ Drops.push_back(cItem(E_ITEM_LEAVES, 1, a_World->GetBlockMeta(a_BlockX, a_BlockY, a_BlockZ)));
+ a_World->SpawnItemPickups(Drops, a_BlockX, a_BlockY, a_BlockZ);
- a_World->SetBlock(a_X, a_Y, a_Z, E_BLOCK_AIR, 0);
+ a_World->SetBlock(a_BlockX, a_BlockY, a_BlockZ, E_BLOCK_AIR, 0);
a_Player->UseEquippedItem();
return true;
}
+ // TODO: cobweb, vines
return false;
}
virtual bool CanHarvestBlock(BLOCKTYPE a_BlockType) override
{
- return a_BlockType == E_BLOCK_COBWEB
- || a_BlockType == E_BLOCK_VINES;
+ switch (a_BlockType)
+ {
+ case E_BLOCK_COBWEB:
+ case E_BLOCK_VINES:
+ case E_BLOCK_LEAVES:
+ {
+ return true;
+ }
+ } // switch (a_BlockType
+ return false;
}
-}; \ No newline at end of file
+} ;
+
+
+
+