From 2ca40c819ecb7b77879c62b2465345a5e6428bd5 Mon Sep 17 00:00:00 2001 From: "lapayo94@gmail.com" Date: Thu, 29 Dec 2011 02:44:21 +0000 Subject: - Pickups should now burn in fire - The player no longer gets an empty bucket when in creative mode - improved the simulators again (moved to std::list because this should be faster with so many objects) (But the water simulation still is very slow) git-svn-id: http://mc-server.googlecode.com/svn/trunk@153 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/cClientHandle.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'source/cClientHandle.cpp') 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: -- cgit v1.2.3