1
0

Fixed boat placement code.

This commit is contained in:
madmaxoft 2014-04-02 16:40:13 +02:00
parent 26c3bc4076
commit 5c6d474599

View File

@ -39,12 +39,20 @@ public:
public cBlockTracer::cCallbacks public cBlockTracer::cCallbacks
{ {
public: public:
Vector3d Pos; Vector3d m_Pos;
virtual bool OnNextBlock(int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, char a_EntryFace) override 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 true;
} }
return false; return false;
@ -57,15 +65,15 @@ public:
Tracer.Trace(Start.x, Start.y, Start.z, End.x, End.y, End.z); Tracer.Trace(Start.x, Start.y, Start.z, End.x, End.y, End.z);
double x = Callbacks.Pos.x; if (!Callbacks.m_HasFound)
double y = Callbacks.Pos.y;
double z = Callbacks.Pos.z;
if ((x == 0) && (y == 0) && (z == 0))
{ {
return false; 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); cBoat * Boat = new cBoat(x + 0.5, y + 1, z + 0.5);
Boat->Initialize(a_World); Boat->Initialize(a_World);