diff options
author | madmaxoft <github@xoft.cz> | 2014-04-02 16:40:13 +0200 |
---|---|---|
committer | madmaxoft <github@xoft.cz> | 2014-04-02 16:40:28 +0200 |
commit | 5c6d4745990a0aa90d0c6c01da65d6e8dfa32bfc (patch) | |
tree | cb2ba271413458df0ff347c338003a057315a070 | |
parent | Fixed more virtual destructors for interfaces. (diff) | |
download | cuberite-5c6d4745990a0aa90d0c6c01da65d6e8dfa32bfc.tar cuberite-5c6d4745990a0aa90d0c6c01da65d6e8dfa32bfc.tar.gz cuberite-5c6d4745990a0aa90d0c6c01da65d6e8dfa32bfc.tar.bz2 cuberite-5c6d4745990a0aa90d0c6c01da65d6e8dfa32bfc.tar.lz cuberite-5c6d4745990a0aa90d0c6c01da65d6e8dfa32bfc.tar.xz cuberite-5c6d4745990a0aa90d0c6c01da65d6e8dfa32bfc.tar.zst cuberite-5c6d4745990a0aa90d0c6c01da65d6e8dfa32bfc.zip |
-rw-r--r-- | src/Items/ItemBoat.h | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/src/Items/ItemBoat.h b/src/Items/ItemBoat.h index a28ec8e22..42f4ffc8f 100644 --- a/src/Items/ItemBoat.h +++ b/src/Items/ItemBoat.h @@ -39,12 +39,20 @@ public: public cBlockTracer::cCallbacks { public: - Vector3d Pos; - virtual bool OnNextBlock(int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, char a_EntryFace) override + Vector3d m_Pos; + bool m_HasFound; + + cCallbacks(void) : + m_HasFound(false) { - if (a_BlockType != E_BLOCK_AIR) + } + + virtual bool OnNextBlock(int a_CBBlockX, int a_CBBlockY, int a_CBBlockZ, BLOCKTYPE a_CBBlockType, NIBBLETYPE a_CBBlockMeta, char a_CBEntryFace) override + { + if (a_CBBlockType != E_BLOCK_AIR) { - Pos = Vector3d(a_BlockX, a_BlockY, a_BlockZ); + m_Pos.Set(a_CBBlockX, a_CBBlockY, a_CBBlockZ); + m_HasFound = true; return true; } return false; @@ -57,15 +65,15 @@ public: Tracer.Trace(Start.x, Start.y, Start.z, End.x, End.y, End.z); - double x = Callbacks.Pos.x; - double y = Callbacks.Pos.y; - double z = Callbacks.Pos.z; - - if ((x == 0) && (y == 0) && (z == 0)) + if (!Callbacks.m_HasFound) { return false; } + double x = Callbacks.m_Pos.x; + double y = Callbacks.m_Pos.y; + double z = Callbacks.m_Pos.z; + cBoat * Boat = new cBoat(x + 0.5, y + 1, z + 0.5); Boat->Initialize(a_World); |