BattlegearRenderHelper.java 文件源码

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

项目:Battlegear2 作者:
/**
 * Add Shield swing for the offhand first person view
 * @param progress Equip Progress for offhand
 * @param player The player
 * @param itemRenderer
 */
public static void renderItemInFirstPerson(float progress, EntityPlayer player, ItemRenderer itemRenderer) {

    IOffhandRender offhandRender = (IOffhandRender)itemRenderer;
    if (offhandRender.getItemToRender().getItem() instanceof IShield) {

        GlStateManager.pushMatrix();

        float swingProgress =
                (float)((IBattlePlayer)player).getSpecialActionTimer() / (
                        float)((IShield)offhandRender.getItemToRender().getItem()).getBashTimer(
                        offhandRender.getItemToRender());
        swingProgress = MathHelper.sin(swingProgress * (float) Math.PI);
        GlStateManager.translate(-0.59F + 0.25F * swingProgress,
                -0.53F - progress * 0.6F,
                -0.8F - 0.25F * swingProgress);

        if(((IBattlePlayer)player).isBlockingWithShield()){
            GlStateManager.translate(0.25F, 0.15F, 0);
        }

        GlStateManager.rotate(- 35F * swingProgress, 0, 1, 0);

        itemRenderer.renderItem(player, offhandRender.getItemToRender(), ItemCameraTransforms.TransformType.FIRST_PERSON_LEFT_HAND);

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


问题


面经


文章

微信
公众号

扫码关注公众号