ElytraUpgradeLayer.java 文件源码

java
阅读 14 收藏 0 点赞 0 评论 0

项目:EnderIO 作者:
@Override
public void doRenderLayer(@Nonnull RenderPlayer renderPlayer, EntityEquipmentSlot equipmentSlot, @Nonnull ItemStack piece,
    @Nonnull AbstractClientPlayer entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTicks, float ageInTicks, float netHeadYaw,
    float headPitch, float scale) {
  if (equipmentSlot != EntityEquipmentSlot.CHEST) {
    return;
  }

  GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
  GlStateManager.enableBlend();

  final ResourceLocation locationElytra = entitylivingbaseIn.getLocationElytra();
  if (entitylivingbaseIn.isPlayerInfoSet() && locationElytra != null) {
    renderPlayer.bindTexture(locationElytra);
  } else {
    final ResourceLocation locationCape = entitylivingbaseIn.getLocationCape();
    if (entitylivingbaseIn.hasPlayerInfo() && locationCape != null && entitylivingbaseIn.isWearing(EnumPlayerModelParts.CAPE)) {
      renderPlayer.bindTexture(locationCape);
    } else {
      renderPlayer.bindTexture(TEXTURE_ELYTRA);
    }
  }

  GlStateManager.pushMatrix();
  GlStateManager.translate(0.0F, 0.0F, 0.125F);
  modelElytra.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scale, entitylivingbaseIn);
  modelElytra.render(entitylivingbaseIn, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scale);

  if (piece.isItemEnchanted()) {
    LayerArmorBase.renderEnchantedGlint(renderPlayer, entitylivingbaseIn, modelElytra, limbSwing, limbSwingAmount, partialTicks, ageInTicks, netHeadYaw,
        headPitch, scale);
  }

  GlStateManager.popMatrix();
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号