I think a big reason to why your class doesn't work is because of the way the RenderPlayer object is retrived from the RenderManager. This code here:
public Render getEntityRenderObject(Entity p_78713_1_)
{
if (p_78713_1_ instanceof AbstractClientPlayer)
{
String s = ((AbstractClientPlayer)p_78713_1_).getSkinType();
RenderPlayer renderplayer = (RenderPlayer)this.skinMap.get(s);
return renderplayer != null ? renderplayer : this.field_178637_m;
}
else
{
return this.getEntityClassRenderObject(p_78713_1_.getClass());
}
}
Now, every player is an instance of
AbstractClientPlayer
and I think you can see one reason to why it doesn't work. You put the
RenderPlayer
object in
entityRenderMap
, but it should actually be in
skinMap
. Even with this I am not sure if your code will work, but at least this will point you in the right direction.
Good luck.
Edit: Well I see that
EntityPlayerMP
is not a child of
AbstractClientPlayer
, which makes things different. My knowledge about these things is limited but I hope it helps nontheless.