diff options
author | Howaner <franzi.moos@googlemail.com> | 2014-03-08 12:29:45 +0100 |
---|---|---|
committer | Howaner <franzi.moos@googlemail.com> | 2014-03-08 12:29:45 +0100 |
commit | 527f3585108111d915c2982b6be6a6adbb5ff4d9 (patch) | |
tree | 63b622d8d4840bed7c08d9afc279733d8b7e1c56 /src/Blocks/BlockDoor.cpp | |
parent | Change TNT Fuse to ticks (diff) | |
parent | Merge pull request #764 from xdot/master (diff) | |
download | cuberite-527f3585108111d915c2982b6be6a6adbb5ff4d9.tar cuberite-527f3585108111d915c2982b6be6a6adbb5ff4d9.tar.gz cuberite-527f3585108111d915c2982b6be6a6adbb5ff4d9.tar.bz2 cuberite-527f3585108111d915c2982b6be6a6adbb5ff4d9.tar.lz cuberite-527f3585108111d915c2982b6be6a6adbb5ff4d9.tar.xz cuberite-527f3585108111d915c2982b6be6a6adbb5ff4d9.tar.zst cuberite-527f3585108111d915c2982b6be6a6adbb5ff4d9.zip |
Diffstat (limited to 'src/Blocks/BlockDoor.cpp')
-rw-r--r-- | src/Blocks/BlockDoor.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/Blocks/BlockDoor.cpp b/src/Blocks/BlockDoor.cpp index 2ff5c1c37..0acf04852 100644 --- a/src/Blocks/BlockDoor.cpp +++ b/src/Blocks/BlockDoor.cpp @@ -55,6 +55,29 @@ void cBlockDoorHandler::OnUse(cChunkInterface & a_ChunkInterface, cWorldInterfac +void cBlockDoorHandler::OnCancelRightClick(cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, cPlayer * a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace) +{ + UNUSED(a_ChunkInterface); + + a_WorldInterface.SendBlockTo(a_BlockX, a_BlockY, a_BlockZ, a_Player); + NIBBLETYPE Meta = a_ChunkInterface.GetBlockMeta(a_BlockX, a_BlockY, a_BlockZ); + + if (Meta & 8) + { + // Current block is top of the door + a_WorldInterface.SendBlockTo(a_BlockX, a_BlockY - 1, a_BlockZ, a_Player); + } + else + { + // Current block is bottom of the door + a_WorldInterface.SendBlockTo(a_BlockX, a_BlockY + 1, a_BlockZ, a_Player); + } +} + + + + + void cBlockDoorHandler::OnPlacedByPlayer( cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, cPlayer * a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, |