public class mod_MyModName extends BaseMod {
public void ModsLoaded() {
RenderPlayerAPI.register("MyModId", MyModRenderPlayerBase.class);
ModelPlayerAPI.register("MyModId", MyModModelPlayerBase.class);
}
}
public class MyModRenderPlayerBase extends RenderPlayerBase {
public MyModRenderPlayerBase(RenderPlayerAPI renderPlayerAPI) {
super(renderPlayerAPI);
}
// one of my hook functions
public void renderPlayer(EntityPlayer entityplayer, double d, double d1, double d2, float f, float f2) {
if(myModIsActive) {
// my code
} else {
super.renderPlayer(entityplayer, d, d1, d2, f, f2);
}
}
// another of my hook functions
public void loadTexture(String s) {
if(myModIsActive) {
// my code
if(callLoadTextureOfRenderPlayer) {
renderPlayer.localLoadTexture(s);
} else if(callLoadTextureOfRenderLiving) {
renderPlayer.superLoadTexture(s);
}
// my code
if(ownTextureToLoad != null)
super.loadTexture(ownTextureToLoad);
else if(dontLoadTexture) {
// my code
return;
} else {
super.setRotationAngles(s);
}
}
}
}
public class MyModModelPlayerBase extends ModelPlayerBase {
public MyModModelPlayerBase(ModelPlayerAPI modelplayerapi) {
super(modelplayerapi);
}
// one of my hook functions
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) {
if(myModIsActive) {
// my code
} else {
super.render(entity, f, f1, f2, f3, f4, f5);
}
}
// another of my hook functions
public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5) {
if(myModIsActive) {
// my code
if(callSetRotationAnglesOfModelPlayer) {
modelPlayer.localSetRotationAngles(f, f1, f2, f3, f4, f5);
} else if(callSetRotationAnglesOfModelBeped) {
modelPlayer.superSetRotationAngles(f, f1, f2, f3, f4, f5);
// my code
}
if(hideHead) {
modelPlayer.bipedHead.isHidden = true;
} else if(mirrorBody) {
modelPlayer.bipedBody.mirror = true;
// my code
} else {
super.setRotationAngles(f, f1, f2, f3, f4, f5);
}
}
}
}