To my knowledge, you will have to do it yourself. BlockPos has a method (BlockPos#getAllInBox) to retrieve all the BlockPos within a rectangular prism, but not a sphere. In general, I would pull all the blocks with a cube with the player at the center and using your radius as half the side length. You can then filter out the unwanted blocks with a simple distance check (BlockPos#distanceSq).
If you want to only get blocks with a certain properties, it might be a good call to use Google's Iterators#filter with the iterator returned from BlockPos and a custom predicate, which would filter for the distance as well as the block properties you want.