GuiRenderItemHelper.java 文件源码

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

项目:BrokkGUI 作者:
public void renderItemStack(ItemStack stack, int x, int y, Color color)
{
    IBakedModel model = this.getRenderItem().getItemModelMesher().getItemModel(stack);
    model = model.getOverrides().handleItemState(model, stack, null, Minecraft.getMinecraft().player);

    GlStateManager.pushMatrix();
    this.mc.getTextureManager().bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE);
    this.mc.getTextureManager().getTexture(TextureMap.LOCATION_BLOCKS_TEXTURE).setBlurMipmap(false, false);
    GlStateManager.enableRescaleNormal();
    GlStateManager.enableAlpha();
    GlStateManager.alphaFunc(516, 0.1F);
    GlStateManager.enableBlend();
    GlStateManager.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA);
    this.setupGuiTransform(x, y, model.isGui3d(), 50);
    model = net.minecraftforge.client.ForgeHooksClient.handleCameraTransforms(model,
            ItemCameraTransforms.TransformType.GUI, false);

    if (!stack.isEmpty())
    {
        GlStateManager.pushMatrix();
        GlStateManager.translate(-0.5F, -0.5F, -0.5F);

        if (model.isBuiltInRenderer())
        {
            GlStateManager.color(color.getRed(), color.getGreen(), color.getBlue(), color.getAlpha());
            GlStateManager.enableRescaleNormal();
            TileEntityItemStackRenderer.instance.renderByItem(stack);
        }
        else
        {
            this.renderModel(model, color.toRGBAInt(), stack);

            if (stack.hasEffect())
                this.renderEffect(model);
        }

        GlStateManager.popMatrix();
    }
    GlStateManager.disableAlpha();
    GlStateManager.disableRescaleNormal();
    GlStateManager.disableLighting();
    GlStateManager.popMatrix();
    this.mc.getTextureManager().bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE);
    this.mc.getTextureManager().getTexture(TextureMap.LOCATION_BLOCKS_TEXTURE).restoreLastBlurMipmap();
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号