Detecting a specific block placed by a player, its state, and when it is broken

I am a beginner data pack creator looking for a little bit of help.

I want to have my data pack detect when a player places a campfire, where that campfire is located, check that it is lit (not necessary,) and then give all players in a radius a regeneration effect kinda like a beacon.

I'm stuck on how to detect where the campfire is actually located to create a radius around that point, and how to detect when it is broken by any means.

Continue to help post