detecting custom item use

what's the convention for detecting the player's desire to use a non-right clickable item, without the new 'everything is food' attribute?

i want to turn player heads into custom food. i thought there was a using_item trigger that would launch before the head was placed. i wanted the use function to be able to be used anywhere, facing empty air or sky. i didn't want to have to figure out how to delete blocks after they've been placed. but i do want the player to be able to place the block as normal when they shift.

what can i do to detect that a player wants to eat an item? shifting while holding doesn't work. looking down and selecting is weird. there's lots of cases where a player might be moving around and not want to trigger eating a custom item. the last suggestion i heard was "villager rides player with no trades, right click while holding player head" and that'd conflict with any other datapack using riding villagers and also be laggy.

Continue to help post