summaryrefslogtreecommitdiffstats
path: root/source/items
diff options
context:
space:
mode:
authorlapayo94@gmail.com <lapayo94@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6>2012-08-22 18:31:13 +0200
committerlapayo94@gmail.com <lapayo94@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6>2012-08-22 18:31:13 +0200
commit886c7f5624470c1545fef32c6b048739d131d47b (patch)
tree1db005dbbd33bce5f29a69cfbf2d66f8adccfb3c /source/items
parentWebAdmin should not cause crashes anymore (diff)
downloadcuberite-886c7f5624470c1545fef32c6b048739d131d47b.tar
cuberite-886c7f5624470c1545fef32c6b048739d131d47b.tar.gz
cuberite-886c7f5624470c1545fef32c6b048739d131d47b.tar.bz2
cuberite-886c7f5624470c1545fef32c6b048739d131d47b.tar.lz
cuberite-886c7f5624470c1545fef32c6b048739d131d47b.tar.xz
cuberite-886c7f5624470c1545fef32c6b048739d131d47b.tar.zst
cuberite-886c7f5624470c1545fef32c6b048739d131d47b.zip
Diffstat (limited to 'source/items')
-rw-r--r--source/items/Item.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/source/items/Item.h b/source/items/Item.h
index f3d5842b8..67935ecb4 100644
--- a/source/items/Item.h
+++ b/source/items/Item.h
@@ -18,9 +18,13 @@ class cItemHandler
{
public:
cItemHandler(int a_ItemID);
+ // Called when the player tries to use the item. Return false to make the item unusable. DEFAULT: False
virtual bool OnItemUse(cWorld *a_World, cPlayer *a_Player, cItem *a_Item, int a_X, int a_Y, int a_Z, char a_Dir); //eg for fishing or hoes
+ // Called while the player diggs a block using this item
virtual bool OnDiggingBlock(cWorld * a_World, cPlayer * a_Player, cItem * a_HeldItem, int a_BlockX, int a_BlockY, int a_BlockZ, char a_BlockFace);
+ // Called when the player destroys a block using this item. This also calls the drop function for the destroyed block
virtual void OnBlockDestroyed(cWorld *a_World, cPlayer *a_Player, cItem *a_Item, int a_X, int a_Y, int a_Z);
+ // Called after the player has eaten this item.
virtual void OnFoodEaten(cWorld *a_World, cPlayer *a_Player, cItem *a_Item);
/// Returns the maximum stack size for a given item
@@ -39,20 +43,27 @@ public:
char PoisionChance; //0 - 100
};
+ // Returns the FoodInfo for this item. (FoodRecovery, Saturation and PoisionChance)
virtual FoodInfo GetFoodInfo();
+ // Lets the player eat a selected item. Returns true if the player ate the item
virtual bool EatItem(cPlayer *a_Player, cItem *a_Item);
+ // Places the current block and removes the item from the player inventory
virtual void PlaceBlock(cWorld *a_World, cPlayer *a_Player, cItem *a_Item, int a_X, int a_Y, int a_Z, char a_Dir);
+ // Indicates if this item is a tool
virtual bool IsTool();
+ // Indicates if this item is food
virtual bool IsFood();
//Blocks simply get placed
virtual bool IsPlaceable();
+ // Returns the block type on placement
virtual BLOCKTYPE GetBlockType();
+ //Returns the block meta on placement
virtual NIBBLETYPE GetBlockMeta(short a_ItemDamage);
-
+ // Returns whether this tool/item can harvest a specific block (e.g. wooden pickaxe can harvest stone, but wood canīt) DEFAULT: False
virtual bool CanHarvestBlock(BLOCKTYPE a_BlockID);
static cItemHandler *GetItemHandler(int a_ItemID);