As it stands there are only 2 ways to detect via API when an experience consumable is used, the RareCandyEvent and ExperienceGainEvent, the first not including any info on the item variant used and the second not having much clarity on which either.
It would be nice if RareCandyEvent included the ItemExpCandy behind it and if ExperienceGainType which is used in ExperienceGainEvent would be updated to more modern standards to include all the different consumables, it could do with the Exp. Candy variants, the Soda variants and the Curry source. At the moment if I want to boost the experience gained by only 1 source rather then all consumables it would be either boosting all unknown ExperienceGainType to cover the curries which in turn may boost 3rd party stuff I do not wish to or I boost all the candy variants rather then being able to target a specific one.
The cleanest alternative at the moment is to replace the default IInteraction with our own which isn't the best thing for compatibility.