diff options
author | Tiger Wang <ziwei.tiger@hotmail.co.uk> | 2014-02-18 12:44:19 +0100 |
---|---|---|
committer | Tiger Wang <ziwei.tiger@hotmail.co.uk> | 2014-02-18 12:44:19 +0100 |
commit | 9c409fc65cd2719707e0b21530f85b41879f864e (patch) | |
tree | 348c49e81b18e925a0cd2f7a5bbbf81caccb4325 /src/Items/ItemItemFrame.h | |
parent | Added a brace (diff) | |
parent | Added an explanatory comment (diff) | |
download | cuberite-9c409fc65cd2719707e0b21530f85b41879f864e.tar cuberite-9c409fc65cd2719707e0b21530f85b41879f864e.tar.gz cuberite-9c409fc65cd2719707e0b21530f85b41879f864e.tar.bz2 cuberite-9c409fc65cd2719707e0b21530f85b41879f864e.tar.lz cuberite-9c409fc65cd2719707e0b21530f85b41879f864e.tar.xz cuberite-9c409fc65cd2719707e0b21530f85b41879f864e.tar.zst cuberite-9c409fc65cd2719707e0b21530f85b41879f864e.zip |
Diffstat (limited to 'src/Items/ItemItemFrame.h')
-rw-r--r-- | src/Items/ItemItemFrame.h | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/Items/ItemItemFrame.h b/src/Items/ItemItemFrame.h index 39be48b54..f286fffd0 100644 --- a/src/Items/ItemItemFrame.h +++ b/src/Items/ItemItemFrame.h @@ -23,23 +23,26 @@ public: { if (a_Dir == BLOCK_FACE_NONE) { + // Client sends this if clicked on top or bottom face return false; } - AddFaceDirection(a_BlockX, a_BlockY, a_BlockZ, a_Dir); + AddFaceDirection(a_BlockX, a_BlockY, a_BlockZ, a_Dir); // Make sure block that will be occupied is free BLOCKTYPE Block = a_World->GetBlock(a_BlockX, a_BlockY, a_BlockZ); - AddFaceDirection(a_BlockX, a_BlockY, a_BlockZ, a_Dir, true); + AddFaceDirection(a_BlockX, a_BlockY, a_BlockZ, a_Dir, true); // We want the clicked block, so go back again if (Block == E_BLOCK_AIR) { int Dir = 0; + + // The client uses different values for painting directions and block faces. Our constants are for the block faces, so we convert them here to painting faces switch (a_Dir) { - case BLOCK_FACE_SOUTH: break; - case BLOCK_FACE_NORTH: Dir = 2; break; - case BLOCK_FACE_WEST: Dir = 1; break; - case BLOCK_FACE_EAST: Dir = 3; break; - default: return false; + case BLOCK_FACE_ZP: break; // Initialised to zero + case BLOCK_FACE_ZM: Dir = 2; break; + case BLOCK_FACE_XM: Dir = 1; break; + case BLOCK_FACE_XP: Dir = 3; break; + default: ASSERT(!"Unhandled block face when trying spawn item frame!"); return false; } cItemFrame * ItemFrame = new cItemFrame(Dir, a_BlockX, a_BlockY, a_BlockZ); |