BattlegearClientEvents.java 文件源码

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

项目:Battlegear2 作者:
/**
    * Render quiver on skeletons if possible
    */
@SubscribeEvent
public void renderLiving(RenderLivingEvent.Post<AbstractSkeleton> event) {

    if (BattlegearConfig.enableSkeletonQuiver && event.getEntity() instanceof EntitySkeleton && event.getRenderer() instanceof RenderSkeleton) {

           GlStateManager.pushMatrix();
           GlStateManager.disableCull();

           GlStateManager.color(1, 1, 1);
        Minecraft.getMinecraft().getTextureManager().bindTexture(quiverDetails);

           GlStateManager.translate((float) event.getX(), (float) event.getY(), (float) event.getZ());

           GlStateManager.scale(1, -1, 1);

        float f2 = interpolateRotation(event.getEntity().prevRenderYawOffset, event.getEntity().renderYawOffset, BattlegearClientTickHandeler.getPartialTick());

           GlStateManager.rotate(180.0F - f2, 0.0F, 1.0F, 0.0F);

        if (event.getEntity().deathTime > 0) {
            float f3 = ((float) event.getEntity().deathTime
                    + BattlegearClientTickHandeler.getPartialTick() - 1.0F) / 20.0F * 1.6F;
            f3 = MathHelper.sqrt(f3);

            if (f3 > 1.0F) {
                f3 = 1.0F;
            }

               GlStateManager.rotate(-f3 * 90, 0.0F, 0.0F, 1.0F);
        }

           GlStateManager.translate(0, -1.5F, 0);

           GlStateManager.rotate(event.getEntity().rotationPitch, 0, 1, 0);

           if(event.getEntity().hasItemInSlot(EntityEquipmentSlot.CHEST)){
               GlStateManager.translate(0, 0, BattlegearRenderHelper.RENDER_UNIT);
           }
           ((ModelBiped)event.getRenderer().mainModel).bipedBody.postRender(BattlegearRenderHelper.RENDER_UNIT);
           GlStateManager.scale(1.05F, 1.05F, 1.05F);
        quiverModel.render(SKELETON_ARROW, BattlegearRenderHelper.RENDER_UNIT);

        Minecraft.getMinecraft().getTextureManager().bindTexture(quiverBase);
           GlStateManager.color(0.10F, 0.10F, 0.10F);
        quiverModel.render(0, BattlegearRenderHelper.RENDER_UNIT);
           GlStateManager.color(1, 1, 1);

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


问题


面经


文章

微信
公众号

扫码关注公众号