1
0

Fixes placing blocks on snow.

Also a little formatting.

git-svn-id: http://mc-server.googlecode.com/svn/trunk@611 0a769ca7-a7f5-676a-18bf-c427514a06d6
This commit is contained in:
cedeel@gmail.com 2012-06-14 20:06:25 +00:00
parent e1b5f0af04
commit 7450e573c3

View File

@ -1031,23 +1031,32 @@ void cClientHandle::HandleBlockPlace(cPacket_BlockPlace * a_Packet)
if (ClickedBlock == E_BLOCK_STEP) if (ClickedBlock == E_BLOCK_STEP)
{ {
// Only make double slab if meta values are the same and if player clicked either on top or on bottom of the block (direction either 0 or 1) // Only make double slab if meta values are the same and if player clicked either on top or on bottom of the block (direction either 0 or 1)
// TODO check if it works from beneath // TODO check if it works from beneath
if (MetaData == ( m_Player->GetWorld()->GetBlockMeta(a_Packet->m_PosX, a_Packet->m_PosY, a_Packet->m_PosZ) & 0x7) && a_Packet->m_Direction <= 1) if (MetaData == ( m_Player->GetWorld()->GetBlockMeta(a_Packet->m_PosX, a_Packet->m_PosY, a_Packet->m_PosZ) & 0x7) && a_Packet->m_Direction <= 1)
//if (MetaData == m_Player->GetWorld()->GetBlockMeta(a_Packet->m_PosX, a_Packet->m_PosY, a_Packet->m_PosZ) && a_Packet->m_Direction == 1) //if (MetaData == m_Player->GetWorld()->GetBlockMeta(a_Packet->m_PosX, a_Packet->m_PosY, a_Packet->m_PosZ) && a_Packet->m_Direction == 1)
{ {
a_Packet->m_ItemType = E_BLOCK_DOUBLE_STEP; a_Packet->m_ItemType = E_BLOCK_DOUBLE_STEP;
if(a_Packet->m_Direction == 1) if(a_Packet->m_Direction == 1)
{ {
a_Packet->m_PosY--; a_Packet->m_PosY--;
} }
else else
{ {
a_Packet->m_PosY++; a_Packet->m_PosY++;
} }
bIgnoreCollision = true; bIgnoreCollision = true;
} }
} }
if (ClickedBlock == E_BLOCK_SNOW)
{
if (a_Packet->m_Direction == 1)
{
a_Packet->m_PosY--;
}
bIgnoreCollision = true;
}
// Special handling for special items: // Special handling for special items:
switch (a_Packet->m_ItemType) switch (a_Packet->m_ItemType)
@ -2082,3 +2091,5 @@ void cClientHandle::SocketClosed(void)