AG, jumping into my brain and stealing my thoughts. Very good info there.
It looks like your thread title was cut off, but your profile says you're 105 pounds. That's incredibly skinny, borderline anorexic, for a kid your age and height. So it's no surprise at that your shoulders are narrow and your limbs are thin. How tall were you when you were 12 and what did you weigh then? (It doesn't actually matter a bunch, because your next steps will be the same regardless. Just curious and looking for a little perspective.)
First of all, yes, it does work. It absolutely works in every case. It's a basic math formula. X calories = Y bodyweight gains; If no bodyweight gains, then X+500; Continue/repeat. You just need to be consistent. 7 days a week for months and months in a row.
I know you said you've been at it for 4 years, but either you have a serious, serious health issue (like a tapeworm or wild thyroid issue) or you've been spinning your wheels on a bad plan. I'm betting it's the second.
The bottom line, end-all, be-all is that you need to hit the total calories that your body needs. That might be 3,500 calories or it might be 6,000. It depends on the person and a few variables. But you need to go through the trial and error to figure out what your body needs and then eat that much every single day to see progress.
That's great to hear. Eat breakfast, lunch, and dinner for the next 120 days, without skipping a single meal. Make sure each meal has a good protein, carb, and fat source (from the lists here: https://www.T-Nation.com/training/teaching-a-kid-to-lift ). If you're hungry between meals or later at night, then definitely eat something, but never be "too full" for your actual meal.
Lift weights 4 days a week for the next 120 days, without skipping a single workout (start with the bodyweight workout in the above article). When you train, drink a shake that has protein and carbs (and at least 300 total calories) during your workout.
You forgot to say "tried".
And like Dagill said, what, exactly, did you eat yesterday?