Here's how I fixed this when it happened to me:
1. Back up all worlds, resource packs etc.
2. Delete your .minecraft or minecraft folder.
3. Delete the Minecraft app.
4. Go to Minecraft.net and redownload.
5. Put worlds back and play as normal :)
Hope this helps!