I have an almost three year old. They need firm boundaries at this age, as they are ripe for pushing them as hard as they can!
You can't 'discipline' them like an older child. We don't shout or hit (obviously).
What I do is an immediate, very firm, 'no' to whatever she's doing wrong, move her away and I tell her why 'no, that's dangerous, it'll burn you' etc.
If she kicks off as a result I ignore it and let her get on with it. Always offer a cuddle but I don't tell her off for it or try to make her stop.
If she's really bold/continues with the behaviour I will warn clearly once, then remove a toy for the rest of the day (and do follow through for the whole day or they'll just laugh in your face next time!).
Getting down on their level helps, as does speaking in a low stern voice, firmly but without shouting. You want them to pay attention, but not out of fright.
Agree to bedroom not being a punishment, it needs to be a happy place or you're setting yourself up for bedtime problems. Have another space in your house if that's the approach you want to take.
As for food, no way would I allow crisps etc. If dinner if refused then it's boring filler food like toast or yoghurt, that's it. If they don't eat it then tough luck (and my DD is fussy, and a pest for food but honestly pandering to it does not help!).