summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorHowaner <franzi.moos@googlemail.com>2014-03-02 16:16:22 +0100
committerHowaner <franzi.moos@googlemail.com>2014-03-02 16:16:22 +0100
commit5e427ee82592bd411a6b7ae0e9f1bd574ff68eb3 (patch)
treed6fa4d83a08c18ba3b8d0f42e749f0c80f9d0ca7 /src
parentAdd Trapdoor Functions to cWorld and fix Trapdoor Redstone Bugs (diff)
downloadcuberite-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.cpp12
-rw-r--r--src/World.h4
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: */