How to check for looked at block, or block type in radius of player?

Good cheer fellow datapack devs, my name is Elska and I've been spending a couple days scratching my head on something.

I have a coldness meter (scoreboard score) that displays above the players lower hud and ticks up passively when conditions are met.

I am trying to get it so when a player is close enough to a campfire it will lower this score by other already figured out means of predicate use.

I know it is near impossible to check within radius, especially for a multiplayer worlds like this one. So I went for block position looking at.

I made some test code for this that triggers particles around the player when looking at a specific block:

execute as @a at @s anchored eyes if block ^ ^ ^0.1 campfire run particle heart ~ ~ ~ 1 1 1 0 1

This works if I do grass blocks and others, but not campfires, and it is driving me crazy trying to figure out why.

If anyone has good tips on ^ ^ ^ better than the Minecraft Wiki or the old fandom wiki please let me know what. Other solutions are also accepted. Thanks.

Continue to help post