From 2372419d0ccb6c0c689437305c47e494ce74bd2b Mon Sep 17 00:00:00 2001 From: "madmaxoft@gmail.com" Date: Tue, 29 May 2012 20:45:25 +0000 Subject: Farmland is created using a hoe on dirt or grass. git-svn-id: http://mc-server.googlecode.com/svn/trunk@520 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/cClientHandle.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'source/cClientHandle.cpp') diff --git a/source/cClientHandle.cpp b/source/cClientHandle.cpp index f5aa9024d..9e88f47a1 100644 --- a/source/cClientHandle.cpp +++ b/source/cClientHandle.cpp @@ -986,7 +986,7 @@ void cClientHandle::HandleBlockPlace(cPacket_BlockPlace * a_Packet) m_Player->GetInventory().RemoveItem(Item); return; } - + if (a_Packet->m_Direction < 0) { // clicked in air @@ -995,7 +995,17 @@ void cClientHandle::HandleBlockPlace(cPacket_BlockPlace * a_Packet) bool isDoor = false; //TODO: Wrong Blocks! - int ClickedBlock = (int)m_Player->GetWorld()->GetBlock(a_Packet->m_PosX, a_Packet->m_PosY, a_Packet->m_PosZ); + BLOCKTYPE ClickedBlock = m_Player->GetWorld()->GetBlock(a_Packet->m_PosX, a_Packet->m_PosY, a_Packet->m_PosZ); + + if (ItemCategory::IsHoe(Item.m_ItemID)) + { + if ((ClickedBlock == E_BLOCK_DIRT) || (ClickedBlock == E_BLOCK_GRASS)) + { + m_Player->GetWorld()->FastSetBlock(a_Packet->m_PosX, a_Packet->m_PosY, a_Packet->m_PosZ, E_BLOCK_FARMLAND, 0); + } + return; + } + char MetaData = (char)Equipped.m_ItemHealth; bool LavaBucket = false; bool WaterBucket = false; -- cgit v1.2.3