float zOffset = 0.52f * (1 - dir.offsetZ) + (dir.offsetZ * (-0.1F + rand.nextFloat() * 0.2F));
if(rand.nextFloat() > 0.5) {
VertexRotation vr = new VertexRotation(Math.PI/4, new Vector3d(0,1,0), new Vector3d(0.5,0.25,0.5));
Vector3d vec = new Vector3d(xOffset, yOffset, zOffset);
vr.apply(vec);
xOffset = (float)vec.x;
yOffset = (float)vec.y;
zOffset = (float)vec.z;
}