If being removed from the inventory after use, like the grenade, is fine, this could be done easily: just a few lines in ::onFire
If you want something more involved, like remaining in the inventory, but being unfirable, that may be a bit more involved and I'm not sure how I'd do it without having code in front of me