So I have this issue which I just emailed Mojang Support about but I was told you guys in the forums are amazing and can resolve issues in minutes. So here is a copy of the message which I sent to Mojang Support:
"I have been playing Minecraft for about a week now with some friends after getting a new computer and it has been fine playing with Spigot and Optifine with the versions 1.12.2. Then today (09/08/18) I joined one of my friends' servers which is hosted by Bisect Hosting running on Spigot 1.12.2 and Optifine 1.12.2.
However as soon as I joined, my character skin was invisible and so was my friend's. I thought it was just a small glitch so I restarted the game but when I joined this time both our character models were broken. Multiple restarts led to different combinations of heads for arms and legs for heads etc. I took some videos when me and my friend were trying to sort the issue out.
I tried to uninstall and reinstall the game (two times), delete files, change my shaders, texture packs and video settings but nothing seems to work. It affects the single player game too but it seems to only be affecting the entities - villagers, mobs and players etc.
I really need some help.
I have no idea what to do or how to solve this as it has never happened before.
I haven't been able to upload my attachments to the thread either without "unknown errors" occurring so this is great.