- 106
- 3
- 7
Привет, пытаюсь зарендерить броню в слое, то есть без привязки к предметам. Использую для этих целей geckolib, но броня там рендерится через ванильные классы. Получилось что текстура почему то сьехала, вызов textureOffset у modelRenderer не дает результата. Еще размер не соответствует и сами кубы тоже сьехали куда то вверх. Перерыл ванильные классы, но не дало результата.
Слой:
Переписанный метод render
Однако части брони двигаются вместе с частями тела, с поворотами все норм
Слой:
Код:
public class LayerClothes implements LayerRenderer<EntityPlayer> {
private final RenderManager renderManager;
private ResourceLocation texture = new ResourceLocation(Reference.MODID, "textures/clothes/blue_blouse.png");
public LayerClothes()
{
this.renderManager = Minecraft.getMinecraft().getRenderManager();
}
@Override
public void doRenderLayer(EntityPlayer player, float limbSwing, float limbSwingAmount, float partialTicks, float ageInTicks, float netHeadYaw, float headPitch, float scale) {
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240, 240);
//if (EventsHandler.getCapaMP(player).isKakuganActive()) {
RenderPlayer renderPlayer = Minecraft.getMinecraft().getRenderManager().getSkinMap().get(((AbstractClientPlayer)player).getSkinType());
KanekiBlueBlouseRender render = new KanekiBlueBlouseRender();
render.setModelAttributes(renderPlayer.getMainModel());
render.setLivingAnimations(player, limbSwing, limbSwingAmount, partialTicks);
renderPlayer.bindTexture(texture);
render.render(player, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, 0.05F);
//}
}
@Override
public boolean shouldCombineTextures() {
return false;
}
}
Переписанный метод render
Код:
@Override
public void render(Entity entityIn, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scale)
{
this.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scale, entityIn);
GlStateManager.pushMatrix();
if (entityIn.isSneaking())
GlStateManager.translate(0.0F, 0.2F, 0.0F);
this.bipedHead.render(scale);
this.bipedBody.render(scale);
this.bipedRightArm.render(scale);
this.bipedLeftArm.render(scale);
this.bipedRightLeg.render(scale);
this.bipedLeftLeg.render(scale);
this.bipedHeadwear.render(scale);
GlStateManager.popMatrix();
}
Однако части брони двигаются вместе с частями тела, с поворотами все норм