From 458eff560b8b25425a292a9543f1319d5ebcda32 Mon Sep 17 00:00:00 2001 From: Samuel Barney Date: Sun, 1 Dec 2013 20:40:12 -0700 Subject: Fixed 1.7 slab and stair placement. --- src/Protocol/Protocol17x.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/Protocol/Protocol17x.cpp b/src/Protocol/Protocol17x.cpp index 746e1c127..27a8fae3f 100644 --- a/src/Protocol/Protocol17x.cpp +++ b/src/Protocol/Protocol17x.cpp @@ -1152,9 +1152,28 @@ 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); + } + } + + } + HANDLE_READ(ReadByte, Byte, CursorX); HANDLE_READ(ReadByte, Byte, CursorY); HANDLE_READ(ReadByte, Byte, CursorZ); + printf("Read %i %i %i %i %i %i %i\n", BlockX, BlockY, BlockZ, Face, CursorX, CursorY, CursorZ); m_Client->HandleRightClick(BlockX, BlockY, BlockZ, Face, CursorX, CursorY, CursorZ, m_Client->GetPlayer()->GetEquippedItem()); } -- cgit v1.2.3 From 9e75df6a4198e70bd99219045446875d4015f079 Mon Sep 17 00:00:00 2001 From: Samuel Barney Date: Mon, 2 Dec 2013 00:51:39 -0700 Subject: Removed stray printf. --- src/Protocol/Protocol17x.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Protocol/Protocol17x.cpp b/src/Protocol/Protocol17x.cpp index 27a8fae3f..fdebdbbb1 100644 --- a/src/Protocol/Protocol17x.cpp +++ b/src/Protocol/Protocol17x.cpp @@ -1173,7 +1173,6 @@ void cProtocol172::HandlePacketBlockPlace(UInt32 a_RemainingBytes) HANDLE_READ(ReadByte, Byte, CursorX); HANDLE_READ(ReadByte, Byte, CursorY); HANDLE_READ(ReadByte, Byte, CursorZ); - printf("Read %i %i %i %i %i %i %i\n", BlockX, BlockY, BlockZ, Face, CursorX, CursorY, CursorZ); m_Client->HandleRightClick(BlockX, BlockY, BlockZ, Face, CursorX, CursorY, CursorZ, m_Client->GetPlayer()->GetEquippedItem()); } -- cgit v1.2.3 From 050702eaa14180b1821e141203f613d9fc31805f Mon Sep 17 00:00:00 2001 From: Samuel Barney Date: Mon, 2 Dec 2013 09:32:28 -0700 Subject: Switched to using provided ReadItem function. Fixed misplacing when clicking on the bottom of bottom slabs and the top of top slabs. --- src/ClientHandle.cpp | 9 +++++++++ src/Protocol/Protocol17x.cpp | 20 +++----------------- 2 files changed, 12 insertions(+), 17 deletions(-) diff --git a/src/ClientHandle.cpp b/src/ClientHandle.cpp index f9a48003e..95d8f23e5 100644 --- a/src/ClientHandle.cpp +++ b/src/ClientHandle.cpp @@ -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 { diff --git a/src/Protocol/Protocol17x.cpp b/src/Protocol/Protocol17x.cpp index fdebdbbb1..2704a4393 100644 --- a/src/Protocol/Protocol17x.cpp +++ b/src/Protocol/Protocol17x.cpp @@ -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()); } -- cgit v1.2.3 From 53d5eb09e061bd726f723a9d721bfc649acbf68d Mon Sep 17 00:00:00 2001 From: Samuel Barney Date: Mon, 2 Dec 2013 09:56:42 -0700 Subject: Removed stray printf, again. --- src/Protocol/Protocol17x.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Protocol/Protocol17x.cpp b/src/Protocol/Protocol17x.cpp index 2704a4393..5f5864f2a 100644 --- a/src/Protocol/Protocol17x.cpp +++ b/src/Protocol/Protocol17x.cpp @@ -1158,7 +1158,6 @@ void cProtocol172::HandlePacketBlockPlace(UInt32 a_RemainingBytes) 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()); } -- cgit v1.2.3