I want to prevent users place a block in the ground, how I can do this?
Use the ChangeBlockEvent.Place event (check the API for more information or this topic).
ChangeBlockEvent.Place