1
0

Switched to using provided ReadItem function.

Fixed misplacing when clicking on the bottom of bottom slabs and the top of top slabs.
This commit is contained in:
Samuel Barney 2013-12-02 09:32:28 -07:00
parent 9e75df6a41
commit 050702eaa1
2 changed files with 12 additions and 17 deletions

View File

@ -887,6 +887,15 @@ void cClientHandle::HandlePlaceBlock(int a_BlockX, int a_BlockY, int a_BlockZ, c
) )
{ {
// Coordinates at CLICKED block, don't move them anywhere // Coordinates at CLICKED block, don't move them anywhere
if((ClickedBlockMeta & 0x08) && (a_BlockFace == BLOCK_FACE_TOP))
{
++a_BlockY;
}
else if (!(ClickedBlockMeta & 0x08) && (a_BlockFace == BLOCK_FACE_BOTTOM))
{
--a_BlockY;
}
World->GetBlockTypeMeta(a_BlockX, a_BlockY, a_BlockZ, ClickedBlock, ClickedBlockMeta);
} }
else else
{ {

View File

@ -1152,27 +1152,13 @@ void cProtocol172::HandlePacketBlockPlace(UInt32 a_RemainingBytes)
HANDLE_READ(ReadByte, Byte, BlockY); HANDLE_READ(ReadByte, Byte, BlockY);
HANDLE_READ(ReadBEInt, int, BlockZ); HANDLE_READ(ReadBEInt, int, BlockZ);
HANDLE_READ(ReadByte, Byte, Face); HANDLE_READ(ReadByte, Byte, Face);
HANDLE_READ(ReadBEShort, short, ItemID); cItem Item;
ReadItem(Item);
// Currently discarding extra info until it is decided what we do with it
if (ItemID != -1)
{
HANDLE_READ(ReadByte, Byte, Count);
HANDLE_READ(ReadBEShort, short, ItemDamage);
HANDLE_READ(ReadBEShort, short, MetaLen);
if (MetaLen != -1)
{
while(MetaLen--)
{
HANDLE_READ(ReadByte, Byte, MetaStuff);
}
}
}
HANDLE_READ(ReadByte, Byte, CursorX); HANDLE_READ(ReadByte, Byte, CursorX);
HANDLE_READ(ReadByte, Byte, CursorY); HANDLE_READ(ReadByte, Byte, CursorY);
HANDLE_READ(ReadByte, Byte, CursorZ); HANDLE_READ(ReadByte, Byte, CursorZ);
printf("Cursor: %i %i %i\n", CursorX, CursorY, CursorZ);
m_Client->HandleRightClick(BlockX, BlockY, BlockZ, Face, CursorX, CursorY, CursorZ, m_Client->GetPlayer()->GetEquippedItem()); m_Client->HandleRightClick(BlockX, BlockY, BlockZ, Face, CursorX, CursorY, CursorZ, m_Client->GetPlayer()->GetEquippedItem());
} }