Jump to content

Wind_Blade

Members
  • Posts

    1
  • Joined

  • Last visited

Everything posted by Wind_Blade

  1. So i ty to drawn a transparent item in a gui, So i start with the basic itemRender.drawnItemAndEffectIntoGui(); and i put a GlStateManager.color(1F, 1F, 1F, 0.5F) But it's not worked, so I looked at the code inside and noticed that the OpenGl does not affect the drawing of the items. I decided to copy paste the code and change myself the transparency. However just by copying the code, without modifying anything, I have a pretty bizzare bug. I can not find the cause. Yes it's the drawing items... public void drawn(){ GlStateManager.pushMatrix(); GlStateManager.translate((float)xx, (float)yy, 100.0F + this.zLevel); GlStateManager.translate(8.0F, 8.0F, 0.0F); GlStateManager.scale(1.0F, -1.0F, 1.0F); GlStateManager.scale(16.0F, 16.0F, 16.0F); GlStateManager.translate(-0.5F, -0.5F, -0.5F); GlStateManager.color(1, 1, 1, 0.2f); IBakedModel model = itemRender.getItemModelWithOverrides(stack, mc.theWorld, mc.thePlayer); int color = -1; Tessellator tessellator = Tessellator.getInstance(); VertexBuffer vertexbuffer = tessellator.getBuffer(); vertexbuffer.begin(7, DefaultVertexFormats.ITEM); for (EnumFacing enumfacing : EnumFacing.values()) { this.renderQuads(vertexbuffer, model.getQuads((IBlockState)null, enumfacing, 0L), color, stack); } this.renderQuads(vertexbuffer, model.getQuads((IBlockState)null, (EnumFacing)null, 0L), color, stack); tessellator.draw(); this.itemRender.renderItemOverlayIntoGUI(fontRendererObj, stack, xx, yy, Integer.toString(stack.stackSize)); GlStateManager.enableAlpha(); GlStateManager.popMatrix(); } private void renderQuads(VertexBuffer renderer, List<BakedQuad> quads, int color, @Nullable ItemStack stack) { boolean flag = color == -1 && stack != null; for(int i = 0; i < quads.size(); i++){ BakedQuad bakedquad = (BakedQuad)quads.get(i); int k = color; if (flag && bakedquad.hasTintIndex()) { k = mc.getItemColors().getColorFromItemstack(stack, bakedquad.getTintIndex()); if (EntityRenderer.anaglyphEnable) { k = TextureUtil.anaglyphColor(k); } k = k | -16777216; } net.minecraftforge.client.model.pipeline.LightUtil.renderQuadColor(renderer, bakedquad, k); } } So if you understand why it's do that or have a better way to make transparent item in a gui could you help me please
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.