The way you change the skin doesn't matter to me. I redid the code so that it renders a new skin, there are also no errors and nothing changes.
public class MyPlayerLayer extends LayerRenderer<PlayerEntity, PlayerModel<PlayerEntity>> {
public MyPlayerLayer(IEntityRenderer<PlayerEntity, PlayerModel<PlayerEntity>> entityRenderer) {
super(entityRenderer);
}
@Override
public void render(MatrixStack matrixStack, IRenderTypeBuffer buffer, int light, PlayerEntity player, float limbAngle, float limbDistance, float tickDelta, float customAngle, float headYaw, float headPitch) {
PlayerModel<PlayerEntity> model = getParentModel();
renderCutoutModel(model, new ResourceLocation("tutorialmod:textures/entity/player_layer.png"), matrixStack, buffer, light, player, 1, 1, 1, tickDelta, 1, 1, 1, 1);
}
}
public class MyPlayerRenderer extends LivingRenderer<PlayerEntity, PlayerModel<PlayerEntity>> {
public MyPlayerRenderer(EntityRendererManager rendererManager) {
super(rendererManager, new PlayerModel<>(0.0f, false), 0.5f);
addLayer(new MyPlayerLayer(this));
}
@Override
public ResourceLocation getTextureLocation(PlayerEntity entity) {
return new ResourceLocation("tutorialmod:textures/entity/player.png");
}
}
RenderingRegistry.registerEntityRenderingHandler(EntityType.PLAYER, (RenderFactory) MyPlayerRenderer::new);