summaryrefslogtreecommitdiffstats
path: root/src/ClientHandle.cpp
diff options
context:
space:
mode:
authorMattes D <github@xoft.cz>2014-07-17 11:23:09 +0200
committerMattes D <github@xoft.cz>2014-07-17 11:23:09 +0200
commitec77cf1b06c3008a3c9046a6e0b6a85b0629dba4 (patch)
treee2a6e048422755b6a5b04c0fbe3afd0bfbf1c700 /src/ClientHandle.cpp
parentMerge pull request #1193 from mc-server/deathmessages (diff)
parentFixed 3 MSVC warnings in SplashPotionEntity. (diff)
downloadcuberite-ec77cf1b06c3008a3c9046a6e0b6a85b0629dba4.tar
cuberite-ec77cf1b06c3008a3c9046a6e0b6a85b0629dba4.tar.gz
cuberite-ec77cf1b06c3008a3c9046a6e0b6a85b0629dba4.tar.bz2
cuberite-ec77cf1b06c3008a3c9046a6e0b6a85b0629dba4.tar.lz
cuberite-ec77cf1b06c3008a3c9046a6e0b6a85b0629dba4.tar.xz
cuberite-ec77cf1b06c3008a3c9046a6e0b6a85b0629dba4.tar.zst
cuberite-ec77cf1b06c3008a3c9046a6e0b6a85b0629dba4.zip
Diffstat (limited to 'src/ClientHandle.cpp')
-rw-r--r--src/ClientHandle.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/ClientHandle.cpp b/src/ClientHandle.cpp
index a6477eb25..bd6fc1287 100644
--- a/src/ClientHandle.cpp
+++ b/src/ClientHandle.cpp
@@ -877,7 +877,7 @@ void cClientHandle::HandleLeftClick(int a_BlockX, int a_BlockY, int a_BlockZ, eB
case DIG_STATUS_SHOOT_EAT:
{
cItemHandler * ItemHandler = cItemHandler::GetItemHandler(m_Player->GetEquippedItem());
- if (ItemHandler->IsFood())
+ if (ItemHandler->IsFood() || ItemHandler->IsDrinkable(m_Player->GetEquippedItem().m_ItemDamage))
{
m_Player->AbortEating();
return;
@@ -1202,15 +1202,16 @@ void cClientHandle::HandleRightClick(int a_BlockX, int a_BlockY, int a_BlockZ, e
return;
}
+ short EquippedDamage = Equipped.m_ItemDamage;
cItemHandler * ItemHandler = cItemHandler::GetItemHandler(Equipped.m_ItemType);
if (ItemHandler->IsPlaceable() && (a_BlockFace != BLOCK_FACE_NONE))
{
HandlePlaceBlock(a_BlockX, a_BlockY, a_BlockZ, a_BlockFace, a_CursorX, a_CursorY, a_CursorZ, *ItemHandler);
}
- else if (ItemHandler->IsFood() && !m_Player->IsGameModeCreative())
+ else if ((ItemHandler->IsFood() || ItemHandler->IsDrinkable(EquippedDamage)) && !m_Player->IsGameModeCreative())
{
- if (m_Player->IsSatiated())
+ if (m_Player->IsSatiated() && !ItemHandler->IsDrinkable(EquippedDamage))
{
// The player is satiated, they cannot eat
return;