I figured out how to solve this problem.
You need to make a custom renderToBuffer in the model file.
Current Code:
HeadRenderer
public class MegovidHeadRenderer<T extends LivingEntity> extends RenderLayer<T, MegovidModel<T>> {
private static final RenderType GATEWAY = RenderType.endGateway();
public MegovidHeadRenderer(RenderLayerParent<T, MegovidModel<T>> pRenderer) {
super(pRenderer);
}
@Override
public void render(PoseStack poseStack, MultiBufferSource multiBufferSource, int i, T t, float v, float v1, float v2, float v3, float v4, float v5) {
this.getParentModel().renderToBufferCUSTOM(
poseStack,
multiBufferSource.getBuffer(GATEWAY),
15728640,
OverlayTexture.NO_OVERLAY,
1.0F, 1.0F, 1.0F, 1.0F);
}
}
Model file
public void renderToBufferCUSTOM(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
poseStack.translate(0,1.5,0);
head.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
}
Result: