From c68aa68c699a618d0172bceacf553ab96fc32cdd Mon Sep 17 00:00:00 2001 From: "madmaxoft@gmail.com" Date: Thu, 18 Oct 2012 19:41:29 +0000 Subject: Fixed a few bugs in fluid placement - fluid into other fluid, fluid into washable blocks. git-svn-id: http://mc-server.googlecode.com/svn/trunk@977 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/Items/ItemShears.h | 49 +++++++++++++++++++++++++++++++++-------------- 1 file changed, 35 insertions(+), 14 deletions(-) (limited to 'source/Items/ItemShears.h') 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 +} ; + + + + -- cgit v1.2.3