When to use être vs. avoir vs. faire.
When I was learning French, I realized that for things like "I am hot, I am cold, I am hungry, etc," you write, "J'ai chaud, j'ai froid, j'ai faim, etc." Then I saw for a sentence that I was translating, "The jacket is hot," I wrote "La veste a chaud," but it was "La veste est chaud," using être, not avoir. I also know that if you were to say, "it is hot," you could say, "Il fait chaud." This one uses "faire." When do you use the different verbs in this case?
I know that with weather, you'll always be using faire (as far as I know... although I certainly don't know everything). Examples include "il fait chaud" or "il fait du soleil" (I always forget how to spell soleil so excuse my spelling if it's incorrect). When you're describing a person, think of it as the person having, for instance, hunger or heat etc. It can be confusing for English speakers because we just say "I am cold," not "I have cold" (uhh...). Objects just are... so use être. Here's a helpful link I found when checking my information. It does a better job at explaining everything and adds some stuff I didn't know myself! https://www.frenchtoday.com/blog/french-grammar/chaud-and-froid-in-french
"La veste est chaude"
I think "avoir" here can be translated as "to be feeling". So you can say "I am feeling hot" but you wouldn't say "the jacket is feeling hot", it would be imbuing the jacket with consciousness. Saying "la veste a chaud" sounds exactly that way in french, you make it sound like it's the jacket that's experiencing the heat.
The "il fait" construct is impersonal. Same way you say "it rains" in English (who or what is the "it"?). Likewise you would never use it with a definite subject, it's always some mysterious impersonal "il" messing with the climate. So you would never say "je fais chaud" or "la veste fait chaud", it's devoid of meaning.
There's also a reflexive form, "il se fait..." which means "it's getting..." in constructs such as "il se fait tard" ("it's getting late", literally "it's making itself late"). I can't actually think of an other use of this construct than this set phrase but there could be.
I can think of one more: "Tu te fais vieux" (You're getting old). But I agree with the above: avoir for a person (J'ai chaud = I'm hot), être for an object (La veste est chaude = The jacket is warm, Le radiateur est chaud = The radiator is hot), and faire for the weather (Il fait chaud = It's hot). The same for cold. To say "My hands are cold", you say" J'ai froid aux mains". Incidentally, the French will laugh if you say "Je suis chaud", because that means hot in the sense of sexy!