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
|
// 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
|
||||||
{
|
{
|
||||||
|
@ -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());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user