diff options
author | Howaner <franzi.moos@googlemail.com> | 2014-03-02 16:16:22 +0100 |
---|---|---|
committer | Howaner <franzi.moos@googlemail.com> | 2014-03-02 16:16:22 +0100 |
commit | 5e427ee82592bd411a6b7ae0e9f1bd574ff68eb3 (patch) | |
tree | d6fa4d83a08c18ba3b8d0f42e749f0c80f9d0ca7 /src | |
parent | Add Trapdoor Functions to cWorld and fix Trapdoor Redstone Bugs (diff) | |
download | cuberite-5e427ee82592bd411a6b7ae0e9f1bd574ff68eb3.tar cuberite-5e427ee82592bd411a6b7ae0e9f1bd574ff68eb3.tar.gz cuberite-5e427ee82592bd411a6b7ae0e9f1bd574ff68eb3.tar.bz2 cuberite-5e427ee82592bd411a6b7ae0e9f1bd574ff68eb3.tar.lz cuberite-5e427ee82592bd411a6b7ae0e9f1bd574ff68eb3.tar.xz cuberite-5e427ee82592bd411a6b7ae0e9f1bd574ff68eb3.tar.zst cuberite-5e427ee82592bd411a6b7ae0e9f1bd574ff68eb3.zip |
Diffstat (limited to 'src')
-rw-r--r-- | src/World.cpp | 12 | ||||
-rw-r--r-- | src/World.h | 4 |
2 files changed, 10 insertions, 6 deletions
diff --git a/src/World.cpp b/src/World.cpp index ca72d2e20..6c9ea7453 100644 --- a/src/World.cpp +++ b/src/World.cpp @@ -2649,12 +2649,14 @@ bool cWorld::SetCommandBlockCommand(int a_BlockX, int a_BlockY, int a_BlockZ, co bool cWorld::IsTrapdoorOpen(int a_BlockX, int a_BlockY, int a_BlockZ) { - if (GetBlock(a_BlockX, a_BlockY, a_BlockZ) != E_BLOCK_TRAPDOOR) + BLOCKTYPE Block; + NIBBLETYPE Meta; + GetBlockTypeMeta(a_BlockX, a_BlockY, a_BlockZ, Block, Meta); + if (Block != E_BLOCK_TRAPDOOR) { return false; } - NIBBLETYPE Meta = GetBlockMeta(a_BlockX, a_BlockY, a_BlockZ); return (Meta & 0x4) > 0; } @@ -2664,12 +2666,14 @@ bool cWorld::IsTrapdoorOpen(int a_BlockX, int a_BlockY, int a_BlockZ) bool cWorld::SetTrapdoorOpen(int a_BlockX, int a_BlockY, int a_BlockZ, bool a_Open) { - if (GetBlock(a_BlockX, a_BlockY, a_BlockZ) != E_BLOCK_TRAPDOOR) + BLOCKTYPE Block; + NIBBLETYPE Meta; + GetBlockTypeMeta(a_BlockX, a_BlockY, a_BlockZ, Block, Meta); + if (Block != E_BLOCK_TRAPDOOR) { return false; } - NIBBLETYPE Meta = GetBlockMeta(a_BlockX, a_BlockY, a_BlockZ); bool IsOpen = (Meta & 0x4) > 0; if (a_Open != IsOpen) { diff --git a/src/World.h b/src/World.h index ec6805dcf..25b42888c 100644 --- a/src/World.h +++ b/src/World.h @@ -342,10 +342,10 @@ public: /** Sets the command block command. Returns true if command changed. */ bool SetCommandBlockCommand(int a_BlockX, int a_BlockY, int a_BlockZ, const AString & a_Command); // tolua_export - /** Is the trapdoor open? */ + /** Is the trapdoor open? Returns false if there is no trapdoor at the specified coords. */ bool IsTrapdoorOpen(int a_BlockX, int a_BlockY, int a_BlockZ); // tolua_export - /** Set the state of a trapdoor */ + /** Set the state of a trapdoor. Returns true if the trapdoor was update, false if there was no trapdoor at those coords. */ bool SetTrapdoorOpen(int a_BlockX, int a_BlockY, int a_BlockZ, bool a_Open); // tolua_export /** Regenerate the given chunk: */ |