Ah, BlockHorizontal and BlockDirectional? I initially thought of using these, but BlockTorch for example has a FACING property but does not extend from either of these, and I would still like to access this property. I suppose I could add individual checks for each block that has a FACING property that's not from the two classes above, but this could be tedious and would not account for blocks from other mods which I would ideally like to support.
I know that it's hacky, but would it be sensible to use the block meta numbers, and then add 0-3 to it based on what direction the block is already in? myBlockState.getValue(p) would work to verify it's initial direction, my issue above was that I couldn't then change the value of p.