From 15a50318852bb232a8ae25e9c3b4e13c49f52a1b Mon Sep 17 00:00:00 2001 From: "madmaxoft@gmail.com" Date: Sat, 11 Aug 2012 12:46:09 +0000 Subject: Added cItemHandler::GetMaxStackSize() with a very basic implementation git-svn-id: http://mc-server.googlecode.com/svn/trunk@726 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/items/Item.cpp | 16 ++++++++++++++++ source/items/Item.h | 12 ++++++++++++ 2 files changed, 28 insertions(+) diff --git a/source/items/Item.cpp b/source/items/Item.cpp index 35a612434..47c0852e9 100644 --- a/source/items/Item.cpp +++ b/source/items/Item.cpp @@ -237,6 +237,22 @@ void cItemHandler::OnFoodEaten(cWorld *a_World, cPlayer *a_Player, cItem *a_Item +char cItemHandler::GetMaxStackSize(void) +{ + if (m_ItemID < 256) + { + // All blocks can stack up to 64 + return 64; + } + + // By default items don't stack: + return 1; +} + + + + + bool cItemHandler::IsTool() { return diff --git a/source/items/Item.h b/source/items/Item.h index a465ae80a..5fe260fd8 100644 --- a/source/items/Item.h +++ b/source/items/Item.h @@ -1,10 +1,19 @@ + #pragma once #include "../Defines.h" + + + + +// fwd: class cWorld; class cPlayer; + + + class cItemHandler { public: @@ -13,6 +22,9 @@ public: virtual bool OnDiggingBlock(cWorld *a_World, cPlayer *a_Player, cItem *a_Item, int a_X, int a_Y, int a_Z, char a_Dir); virtual void OnBlockDestroyed(cWorld *a_World, cPlayer *a_Player, cItem *a_Item, int a_X, int a_Y, int a_Z); virtual void OnFoodEaten(cWorld *a_World, cPlayer *a_Player, cItem *a_Item); + + /// Returns the maximum stack size for a given item + virtual char GetMaxStackSize(void); struct FoodInfo { -- cgit v1.2.3