public virtual void OnUpdateNavigation()
        {
            TotalTicks++;

            if (NoPath())
            {
                return;
            }

            if (CanNavigate())
            {
                PathFollow();
            }

            if (NoPath())
            {
                return;
            }

            Vec3D vec3d = CurrentPath.GetCurrentNodeVec3d(TheEntity);

            if (vec3d == null)
            {
                return;
            }
            else
            {
                TheEntity.GetMoveHelper().SetMoveTo(vec3d.XCoord, vec3d.YCoord, vec3d.ZCoord, Speed);
                return;
            }
        }