summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormadmaxoft <github@xoft.cz>2013-08-11 14:54:45 +0200
committermadmaxoft <github@xoft.cz>2013-08-11 14:54:45 +0200
commitd97b4463c68250bd3df95dbd5afd19dc4e836702 (patch)
tree7f2112b287316da85270f9e9c1689810ce85f24a
parentAdded OnPlayerAnimation() hook. (diff)
downloadcuberite-d97b4463c68250bd3df95dbd5afd19dc4e836702.tar
cuberite-d97b4463c68250bd3df95dbd5afd19dc4e836702.tar.gz
cuberite-d97b4463c68250bd3df95dbd5afd19dc4e836702.tar.bz2
cuberite-d97b4463c68250bd3df95dbd5afd19dc4e836702.tar.lz
cuberite-d97b4463c68250bd3df95dbd5afd19dc4e836702.tar.xz
cuberite-d97b4463c68250bd3df95dbd5afd19dc4e836702.tar.zst
cuberite-d97b4463c68250bd3df95dbd5afd19dc4e836702.zip
-rw-r--r--source/ItemGrid.cpp7
-rw-r--r--source/ItemGrid.h2
2 files changed, 6 insertions, 3 deletions
diff --git a/source/ItemGrid.cpp b/source/ItemGrid.cpp
index a977a9b6d..e9b86173e 100644
--- a/source/ItemGrid.cpp
+++ b/source/ItemGrid.cpp
@@ -213,7 +213,7 @@ void cItemGrid::Clear(void)
-int cItemGrid::HowManyCanFit(const cItem & a_ItemStack)
+int cItemGrid::HowManyCanFit(const cItem & a_ItemStack, bool a_AllowNewStacks)
{
char NumLeft = a_ItemStack.m_ItemCount;
int MaxStack = ItemHandler(a_ItemStack.m_ItemType)->GetMaxStackSize();
@@ -221,7 +221,10 @@ int cItemGrid::HowManyCanFit(const cItem & a_ItemStack)
{
if (m_Slots[i].IsEmpty())
{
- NumLeft -= MaxStack;
+ if (a_AllowNewStacks)
+ {
+ NumLeft -= MaxStack;
+ }
}
else if (m_Slots[i].IsStackableWith(a_ItemStack))
{
diff --git a/source/ItemGrid.h b/source/ItemGrid.h
index 9eba5b452..a4af523cf 100644
--- a/source/ItemGrid.h
+++ b/source/ItemGrid.h
@@ -72,7 +72,7 @@ public:
void Clear(void);
/// Returns number of items out of a_ItemStack that can fit in the storage
- int HowManyCanFit(const cItem & a_ItemStack);
+ int HowManyCanFit(const cItem & a_ItemStack, bool a_AllowNewStacks = true);
/** Adds as many items out of a_ItemStack as can fit.
If a_AllowNewStacks is set to false, only existing stacks can be topped up;