LayerExtendedPlayerInventory.java 文件源码

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

项目:CrystalMod 作者:
@Override
public void doRenderLayer(AbstractClientPlayer entity, float limbSwing, float limbSwingAmount, float partialTicks, float ageInTicks, float netHeadYaw, float headPitch, float scale) {
    if(entity.isInvisible())return;
    ItemStack backpack = BackpackUtil.getBackpackOnBack(entity);
    if(ItemStackTools.isValid(backpack)){
        IBackpack type = BackpackUtil.getType(backpack);
        if(type !=null){
            ResourceLocation res = type.getTexture(backpack, 1);
            if(res == null){
                res = TextureMap.LOCATION_MISSING_TEXTURE;
            }
            GlStateManager.pushMatrix();
            GlStateManager.color(1, 1, 1, 1);
            playerRenderer.bindTexture(res);
            this.backpackModel.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scale, entity);
            GlStateManager.pushMatrix();
            GlStateManager.scale(0.7, 0.7, 0.7);
            GlStateManager.translate(0, 0.05, 0);
               this.backpackModel.render(entity, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scale);
               boolean enchanted = false;
               if (enchanted) {
                   LayerArmorBase.renderEnchantedGlint(this.playerRenderer, entity, this.backpackModel, limbSwing, limbSwingAmount, partialTicks, ageInTicks, netHeadYaw, headPitch, scale);
               }
               GlStateManager.popMatrix();
            if(type instanceof IBackpackInventory){
                IBackpackInventory inv = (IBackpackInventory)type;
                InventoryBackpack inventory = inv.getInventory(backpack);
                InventoryBackpackUpgrades upgradeInv = type.getUpgradeInventory(backpack);
                if(inventory !=null && upgradeInv !=null){
                    if(upgradeInv.hasUpgrade(BackpackUpgrade.POCKETS)){
                        if(inventory instanceof NormalInventoryBackpack){
                            NormalInventoryBackpack normalInv = (NormalInventoryBackpack)inventory;
                            ItemStack weapon = normalInv.getToolStack(0);
                            ItemStack tool = normalInv.getToolStack(1);
                            if(ItemStackTools.isValid(weapon)){
                                GlStateManager.pushMatrix();
                                GlStateManager.translate(0.3, 0.3, 0.3);
                                GlStateManager.rotate(90, 0, 1, 0);
                                GlStateManager.rotate(-45, 0, 0, 1);
                                GlStateManager.scale(0.5, 0.5, 0.5);
                                RenderUtil.renderItem(weapon, TransformType.FIXED);
                                GlStateManager.popMatrix();
                            }
                            if(ItemStackTools.isValid(tool)){
                                GlStateManager.pushMatrix();
                                GlStateManager.translate(-0.3, 0.3, 0.3);
                                GlStateManager.rotate(90, 0, 1, 0);
                                GlStateManager.rotate(135, 0, 0, 1);
                                GlStateManager.scale(0.5, 0.5, 0.5);
                                RenderUtil.renderItem(tool, TransformType.FIXED);
                                GlStateManager.popMatrix();
                            }
                        }
                    }
                }
            }
            GlStateManager.popMatrix();
        }
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号