From fd497b8269340c8c29fa6cadc464c2dc4c645eb9 Mon Sep 17 00:00:00 2001 From: Mattes D Date: Sun, 19 Apr 2015 17:33:58 +0200 Subject: ClientHandle: Fixed re-sending refused right-clicks. The coords weren't checked against Y boundary and -1 coords weren't sent. This fixes mc-server/Gallery#45. --- src/ClientHandle.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/ClientHandle.cpp b/src/ClientHandle.cpp index 29ed55bd6..60a2f8873 100644 --- a/src/ClientHandle.cpp +++ b/src/ClientHandle.cpp @@ -1341,7 +1341,14 @@ void cClientHandle::HandleRightClick(int a_BlockX, int a_BlockY, int a_BlockZ, e { AddFaceDirection(a_BlockX, a_BlockY, a_BlockZ, a_BlockFace); World->SendBlockTo(a_BlockX, a_BlockY, a_BlockZ, m_Player); - World->SendBlockTo(a_BlockX, a_BlockY + 1, a_BlockZ, m_Player); // 2 block high things + if (a_BlockY < cChunkDef::Height - 1) + { + World->SendBlockTo(a_BlockX, a_BlockY + 1, a_BlockZ, m_Player); // 2 block high things + } + if (a_BlockY > 1) + { + World->SendBlockTo(a_BlockX, a_BlockY - 1, a_BlockZ, m_Player); // 2 block high things + } m_Player->GetInventory().SendEquippedSlot(); } } -- cgit v1.2.3