1
\$\begingroup\$

I'm working on an minecraft forge mod (1.8.8). I have en custom (ownable) entity and want to set its texture to the texture of its owner, because it's a mini version of the owner.

I found out that i can get the texture of players with AbstractClientPlayer#getLocationSkin(), but i can't figure out how to access either EntityOtherPlayerMP or EntityPlayerSP, which implement AbstractClientPlayer, in my custom renderer. Is there a way to get all AbstractClientPlayer, regardless of SP or MP? I can access the GameProfile and i have the EntityPlayer of the owner.

\$\endgroup\$
1
\$\begingroup\$

Ok, the solution is fairly simple: I was able to simply cast the EntityPlayer to an AbstractClientPlayer! I got the EntityPlayer with my EntityLiving, because its an ownable creature:

@Override
protected ResourceLocation getEntityTexture(EntityLiving entity) {
    IEntityOwnable creature = (IEntityOwnable) entity;
    AbstractClientPlayer player = (AbstractClientPlayer) creature.getOwner();
    return player.getLocationSkin();
}
\$\endgroup\$
3
  • 1
    \$\begingroup\$ This of course only works if the entity is an IEntityOwnable which you stated it was, but you might want to insert an instanceof check just to avoid potential problems. \$\endgroup\$ Jan 4 '16 at 17:08
  • \$\begingroup\$ @Draco18s Generally, yes, but this i given when i set it. \$\endgroup\$
    – Alex H
    Jan 5 '16 at 3:16
  • \$\begingroup\$ I think it isn't even possible to get an plain EntityPlayer on Client-Side. This is inside a renderer, so it will only get called on a Game Client. \$\endgroup\$
    – Alex H
    Jan 5 '16 at 3:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.