Posted August 19, 201411 yr Hi all, I need to render a 3D representation of any block in a GUI. Is there some code or guides on how I can do that? For MC 1.7.10. Thanks!
August 19, 201411 yr try these public boolean renderObject(int x, int y, Object itm, boolean highlight) { return renderObject(x,y,itm,highlight,150); } public boolean renderObject(int x, int y, Object itm, boolean highlight,float lvl) { zLevel = lvl; itemRender.zLevel = lvl; if (itm==null) return renderItemStack(null,x,y,"",highlight); if (itm instanceof Item) return renderItemStack(new ItemStack((Item)itm,1),x,y,"",highlight); if (itm instanceof Block) return renderItemStack(new ItemStack((Block)itm,1),x,y,"",highlight); if (itm instanceof ItemStack) return renderItemStackWithCount((ItemStack)itm,x,y,highlight); return renderItemStack(null,x,y,"",highlight); } public boolean renderItemStackWithCount(ItemStack itm, int xo, int yo, boolean highlight) { if (itm.stackSize==1) return renderItemStack(itm,xo,yo,"",highlight); else return renderItemStack(itm,xo,yo,""+itm.stackSize,highlight); } public boolean renderItemStack(ItemStack itm, int x, int y, String txt, boolean highlight){ GL11.glColor3f(1F, 1F, 1F); if (highlight){ GL11.glDisable(GL11.GL_LIGHTING); drawGradientRect(x, y, x+16, y+16, 0x80ffffff, 0xffffffff); } if (itm==null) return false; GL11.glPushMatrix(); GL11.glTranslatef(0.0F, 0.0F, 32.0F); GL11.glColor3f(1F, 1F, 1F); GL11.glEnable(GL12.GL_RESCALE_NORMAL); GL11.glEnable(GL11.GL_LIGHTING); itemRender.renderItemAndEffectIntoGUI(fontRendererObj, this.mc.getTextureManager(), itm, x, y); itemRender.renderItemOverlayIntoGUI(fontRendererObj, this.mc.getTextureManager(), itm, x, y - 0, txt); GL11.glPopMatrix(); return true; }
August 19, 201411 yr Author What is itemRender? I found an ItemRenderer class but it doesn't have a zLevel member that I can set.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.