I just noticed, a dig packet should be sent even if the player is just in adventure mode, without setting useItem to ALLOW, so the event can fire on the server. onBlockClicked should be fired regardless of the gamemode, as long as the Block isn't broken instantly.
I'm not sure if it's possible to keep the original method mostly intact.