Hi, I managed to Render a new Layer over the players head, couple issues though, first, it has no texture. Second, It doesnt move attached to the player. Any idea how to solve it?
@Override
public void render(MatrixStack matrixStackIn, IRenderTypeBuffer bufferIn, int packedLightIn, T entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTicks, float ageInTicks, float netHeadYaw, float headPitch)
{
matrixStackIn.push();
matrixStackIn.translate(0.0D, -0.0D, -0.00D);
this.getEntityModel().copyModelAttributesTo((EntityModel<T>) this.MODEL);
this.MODEL.setRotationAngles(entitylivingbaseIn, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch);
IVertexBuilder ivertexbuilder = ItemRenderer.getBuffer(bufferIn, this.MODEL.getRenderType(TEXTURE_DOJUTSU), false, false);
this.MODEL.render(matrixStackIn, ivertexbuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1.0F, 1.0F, 1.0F, 1.0F);
matrixStackIn.pop();
}
Render Method for the Layer
public class DojutsuModel extends BipedModel<LivingEntity> {
private final ModelRenderer Head;
public DojutsuModel(float size) {
super(size, 0, 32, 32);
Head = new ModelRenderer(this);
Head.setRotationPoint(0.0F, 0.0F, 0.0F);
setRotationAngle(Head, -0.1047F, 0.0873F, 0.0F);
Head.setTextureOffset(0, 0).addBox(-4.0F, -8.0F, -4.0F, 8.0F, 8.0F, 8.0F, 0.0F, false);
bipedBody.addChild(Head);
}
//@Override
//public void setRotationAngles(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch){
//previously the render function, render code was moved to a method below
//}
@Override
public void render(MatrixStack matrixStack, IVertexBuilder buffer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha){
Head.render(matrixStack, buffer, packedLight, packedOverlay);
}
public void setRotationAngle(ModelRenderer modelRenderer, float x, float y, float z) {
modelRenderer.rotateAngleX = x;
modelRenderer.rotateAngleY = y;
modelRenderer.rotateAngleZ = z;
}
Model