When you say convert a Quaternion to a Vector3f there are a few different things you could mean. A rotation could be represented as a Quaternion, an axis (vector3f) and an angle (double), or as euler angles (that you could pack into a vector3f if you were so inclined). So it’s worth getting clear what exactly you want. Euler angles are instinctively understandable to humans (unlike Quaternions) but a bit of a pain to actually work with so I’d suggest sticking with Quaternions unless you have a good reason not to.

What exactly are you trying to achieve? Are you trying to rotate a vector by a rotation specified as a quaternion?

float[] angles = new float[3];
spatial.getWorldRotation().toAngles(angles);
Vector3f rot = new Vector3f(angles[0], angles[1], angles[2]).mult(Vector3f.UNIT_Z);

This shows why euler angles are a bit of a pain, this does not (as I suspect you imagine) rotate UNIT_Z by that rotation; it just multiply the angles by (0,0,1), coordinate by coordinate; so setting the X-angle and Y angle to zero, and retaining the Z angle.

(Seems the angles are actually Tait-Bryan angles, which are similar to Euler angles)