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:
parent
9e75df6a41
commit
050702eaa1
@ -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
|
||||
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
|
||||
{
|
||||
|
@ -1152,27 +1152,13 @@ void cProtocol172::HandlePacketBlockPlace(UInt32 a_RemainingBytes)
|
||||
HANDLE_READ(ReadByte, Byte, BlockY);
|
||||
HANDLE_READ(ReadBEInt, int, BlockZ);
|
||||
HANDLE_READ(ReadByte, Byte, Face);
|
||||
HANDLE_READ(ReadBEShort, short, ItemID);
|
||||
|
||||
// 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);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
cItem Item;
|
||||
ReadItem(Item);
|
||||
|
||||
HANDLE_READ(ReadByte, Byte, CursorX);
|
||||
HANDLE_READ(ReadByte, Byte, CursorY);
|
||||
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());
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user