summaryrefslogtreecommitdiffstats
path: root/source/cClientHandle.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/cClientHandle.cpp')
-rw-r--r--source/cClientHandle.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/source/cClientHandle.cpp b/source/cClientHandle.cpp
index 8c49411fe..22adc2207 100644
--- a/source/cClientHandle.cpp
+++ b/source/cClientHandle.cpp
@@ -872,21 +872,28 @@ void cClientHandle::HandlePacket( cPacket* a_Packet )
case E_ITEM_LAVA_BUCKET:
if((m_Player->GetGameMode() == 1) || (m_Player->GetInventory().RemoveItem( Item )))
{
+ PacketData->m_ItemType = E_BLOCK_LAVA;
+ if(m_Player->GetGameMode() == 1)
+ break; //No new Bucket for creative players
+
cItem NewItem;
NewItem.m_ItemID = E_ITEM_BUCKET;
NewItem.m_ItemCount = 1;
m_Player->GetInventory().AddItem( NewItem );
- PacketData->m_ItemType = E_BLOCK_LAVA;
+
}
break;
case E_ITEM_WATER_BUCKET:
if((m_Player->GetGameMode() == 1) || (m_Player->GetInventory().RemoveItem( Item )))
{
+ PacketData->m_ItemType = E_BLOCK_WATER;
+ if(m_Player->GetGameMode() == 1)
+ break; //No new Bucket for creative players
cItem NewItem;
NewItem.m_ItemID = E_ITEM_BUCKET;
NewItem.m_ItemCount = 1;
m_Player->GetInventory().AddItem( NewItem );
- PacketData->m_ItemType = E_BLOCK_WATER;
+
}
break;
case E_BLOCK_WHITE_CLOTH: