help please

so basically i’ve been dating this guy for about a month and a couple days now. he’s awesome and funny and all that. he seems perfect. most of the time...sometimes he’s so mean in a way. its like he doesn’t care that he hurts my feelings and he doesn’t care ab what i think. recently he has started smoking pot and drinking whenever he can. he even sells weed now. (mind u were 15 and 16) and like i don’t mind that he smokes or will drink it’s just that it’s constantly. and i smoke too and every once in a while at a party maybe drink a little but i couldn’t do it everyday. he’s been smoking every single day and he just got a bottle of whiskey and he was drinking off it. every once in a while i’ll make a joke and be like “you’re gonna become an alcoholic” and stuff and i secretly do mean it. i rlly do fear of that. but today he got a bottle and he came over to my house. he had already drank a glass of it diluted with coke, and i didn’t mind bcs he still had a couple hours till curfew and he would be fine getting home. then he started ab how hesgonna get another glass and i told him not to. i told him i didn’t want him to drink at my house bcs i’m 15 and i don’t want him to drive but he can’t stay the night at my house. he went along and did it anyways. so then i got upset about it. he then got angry that i was upset and said “then i’ll just go drink at home” and i told him i wanted him to stay here and be with me and actually spend time with me. but he proceeded i be upset. he then told me he hates that i tell him things like “stop drinking so much” or “don’t smoke everyday” bcs he thinks i’m being controlling. he told me he knows how his actions will affect him. i got upset but i’m scared he’s gonna leave bcs i am so scared for him to leave me. he then said “that’s the reason i left my previous girlfriend” and it made me upset. i didn’t tell him it made me upset but it did bcs why would he say that to me? i apologized and said i won’t do it anymore and he excepted it and then he went home to see one of his friends. so what i’m basically wondering is was it wrong for me to say those things and try to “control” him? and also does he seem toxic or am i overreacting? bcs most of the time he’s awesome except when he drinks and smokes all the time.