I've got the rendering down (for a POC), if anyone needs the code it's available here, it procuces something like this:
I think I'll also need to be needing to adjust the UVs a bit, but this is a great starting point. Now, I'm wondering if it's possible to obtain vertices from a VoxelShape? Looks like VoxelShape.bounds() returns AABB which fits my needs.
Looks like there's more to UVs though. There's UV0 and UV2 in the quad vertices, but UV2 seems to be used for overlay, and UV0 only has 2 floats, which seem to match texture uv0, which by the way, is not 0, nor does it go to 1. Instead values (for stone, for example) seem to look like this: 0.40629607,0.78134215; 0.40629607,0.81240785; 0.42182893,0.81240785; 0.42182893,0.78134215, which has me at a loss of what they mean, or what I am supposed to do with them to get the desired result