Data does not get removed from blocks that are indirectly broken
I've noticed that for blocks like cactus where when the bottom block get's broken all the cactus blocks above break, the data will not get removed from the block and stays there until something is either placed in it's location or it is manually removed. To fix this I suggest getting the cactus blocks above the broken cactus and removing data from them if they have any.
Noted. IIRC there's some event for that but I currently don't remember the name. I'm on vacation anyway until july 17th, so feel free to PR if you don't wanna wait :P
There is a BlockGrowEvent but I have no idea when that was added to the api so for the sake of backwards compatibility (if you care about that) I'd just grab the blocks above. I can make a quick and dirty PR for this issue and the other one I posted. They will be done in a bit.
Turns out you were right, BlockPhysicsEvent can capture any blocks updated or broken in any way. Made a pull request fixing both this and #7
Thanks, I'll merge this after having tested it after my vacation