diff options
author | Safwat Halaby <SafwatHalaby@users.noreply.github.com> | 2015-12-13 13:43:53 +0100 |
---|---|---|
committer | Safwat Halaby <SafwatHalaby@users.noreply.github.com> | 2015-12-13 13:43:53 +0100 |
commit | 417a646d7d32c05d837451de9ae64cbcdc53a782 (patch) | |
tree | cf8f3e6ed33c7dc5e98baa6a530683749ae40e51 /src/ClientHandle.cpp | |
parent | Merge pull request #2737 from Gargaj/snowgolem (diff) | |
parent | allow use failures to propagate from the entity/block to the player (diff) | |
download | cuberite-417a646d7d32c05d837451de9ae64cbcdc53a782.tar cuberite-417a646d7d32c05d837451de9ae64cbcdc53a782.tar.gz cuberite-417a646d7d32c05d837451de9ae64cbcdc53a782.tar.bz2 cuberite-417a646d7d32c05d837451de9ae64cbcdc53a782.tar.lz cuberite-417a646d7d32c05d837451de9ae64cbcdc53a782.tar.xz cuberite-417a646d7d32c05d837451de9ae64cbcdc53a782.tar.zst cuberite-417a646d7d32c05d837451de9ae64cbcdc53a782.zip |
Diffstat (limited to 'src/ClientHandle.cpp')
-rw-r--r-- | src/ClientHandle.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/ClientHandle.cpp b/src/ClientHandle.cpp index 28fc6756b..9062d8cab 100644 --- a/src/ClientHandle.cpp +++ b/src/ClientHandle.cpp @@ -1383,15 +1383,16 @@ void cClientHandle::HandleRightClick(int a_BlockX, int a_BlockY, int a_BlockZ, e if (BlockHandler->IsUseable() && !m_Player->IsCrouched()) { - if (PlgMgr->CallHookPlayerUsingBlock(*m_Player, a_BlockX, a_BlockY, a_BlockZ, a_BlockFace, a_CursorX, a_CursorY, a_CursorZ, BlockType, BlockMeta)) + if (!PlgMgr->CallHookPlayerUsingBlock(*m_Player, a_BlockX, a_BlockY, a_BlockZ, a_BlockFace, a_CursorX, a_CursorY, a_CursorZ, BlockType, BlockMeta)) { - // A plugin doesn't agree with using the block, abort - return; + cChunkInterface ChunkInterface(World->GetChunkMap()); + if (BlockHandler->OnUse(ChunkInterface, *World, m_Player, a_BlockX, a_BlockY, a_BlockZ, a_BlockFace, a_CursorX, a_CursorY, a_CursorZ)) + { + // block use was successful, we're done + PlgMgr->CallHookPlayerUsedBlock(*m_Player, a_BlockX, a_BlockY, a_BlockZ, a_BlockFace, a_CursorX, a_CursorY, a_CursorZ, BlockType, BlockMeta); + return; + } } - cChunkInterface ChunkInterface(World->GetChunkMap()); - BlockHandler->OnUse(ChunkInterface, *World, m_Player, a_BlockX, a_BlockY, a_BlockZ, a_BlockFace, a_CursorX, a_CursorY, a_CursorZ); - PlgMgr->CallHookPlayerUsedBlock(*m_Player, a_BlockX, a_BlockY, a_BlockZ, a_BlockFace, a_CursorX, a_CursorY, a_CursorZ, BlockType, BlockMeta); - return; } } |