summaryrefslogtreecommitdiffstats
path: root/source/items
diff options
context:
space:
mode:
Diffstat (limited to '')
-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);