summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/ClientHandle.cpp9
-rw-r--r--src/Protocol/Protocol17x.cpp3
2 files changed, 12 insertions, 0 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 746e1c127..5f5864f2a 100644
--- a/src/Protocol/Protocol17x.cpp
+++ b/src/Protocol/Protocol17x.cpp
@@ -1152,6 +1152,9 @@ void cProtocol172::HandlePacketBlockPlace(UInt32 a_RemainingBytes)
HANDLE_READ(ReadByte, Byte, BlockY);
HANDLE_READ(ReadBEInt, int, BlockZ);
HANDLE_READ(ReadByte, Byte, Face);
+ cItem Item;
+ ReadItem(Item);
+
HANDLE_READ(ReadByte, Byte, CursorX);
HANDLE_READ(ReadByte, Byte, CursorY);
HANDLE_READ(ReadByte, Byte, CursorZ);