package darkknight.jewelrycraft.item.render; import net.minecraft.block.Block; import net.minecraft.block.BlockAir; import net.minecraft.block.BlockAnvil; import net.minecraft.block.BlockHopper; import net.minecraft.client.Minecraft; import net.minecraft.client.model.ModelBase; import net.minecraft.client.renderer.*; import net.minecraft.client.renderer.entity.RenderItem; import net.minecraft.client.renderer.texture.*; import net.minecraft.client.renderer.tileentity.*; import net.minecraft.entity.EntityLivingBase; import net.minecraft.init.Blocks; import net.minecraft.item.*; import net.minecraft.src.FMLRenderAccessLibrary; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.*; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; import darkknight.jewelrycraft.util.JewelryNBT; public class ItemRender implements IItemRenderer { TileEntitySpecialRenderer render; public TileEntity entity; ModelBase model; private RenderBlocks renderBlocksIr = new RenderBlocks(); private Minecraft mc = Minecraft.getMinecraft(); private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); /** * @param render * @param entity * @param model */ public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) { this.entity = entity; this.render = render; this.model = model; } public ItemRender() {} /** * @param item * @param type * @return */ @Override public boolean handleRenderType(ItemStack item, ItemRenderType type) { return true; } /** * @param type * @param item * @param helper * @return */ @Override public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { return true; } /** * @param type * @param item * @param data */ @Override public void renderItem(ItemRenderType type, ItemStack item, Object ... data) { if (item != null){ if (render != null && entity != null && JewelryNBT.item(item) == null){ if (type == IItemRenderer.ItemRenderType.ENTITY){ GL11.glRotatef(180f, 0f, 1f, 0f); GL11.glTranslatef(-0.5f, -0.5f, -0.4f); } render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); }else if (JewelryNBT.item(item) != null){ GL11.glPushMatrix(); GL11.glColor3f(1F, 1F, 0F); if(Item.getItemById(Integer.valueOf(item.getTagCompound().getTag("target").toString().split(",")[0].substring(4).replace("s", ""))) != null) renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); else renderItem(Minecraft.getMinecraft().thePlayer, new ItemStack(Blocks.end_portal), 0, type); GL11.glPopMatrix(); } else{ GL11.glPushMatrix(); GL11.glColor3f(1F, 1F, 0F); renderItem(Minecraft.getMinecraft().thePlayer, new ItemStack(Blocks.end_portal), 0, type); GL11.glPopMatrix(); } } } public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) { GL11.glPushMatrix(); TextureManager texturemanager = this.mc.getTextureManager(); if (itemStack != null){ Item item = itemStack.getItem(); Block block = Block.getBlockFromItem(item); IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); if (customRenderer != null){ texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ texturemanager.bindTexture(texturemanager.getResourceLocation(0)); if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ GL11.glDepthMask(false); renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); GL11.glDepthMask(true); }else{ renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); } }else{ IIcon iicon = itemStack.getIconIndex(); if (iicon == null){ GL11.glPopMatrix(); return; } texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); TextureUtil.func_152777_a(false, false, 1.0F); Tessellator tessellator = Tessellator.instance; float f = iicon.getMinU(); float f1 = iicon.getMaxU(); float f2 = iicon.getMinV(); float f3 = iicon.getMaxV(); float f4 = 0.0F; float f5 = 0.3F; GL11.glEnable(GL12.GL_RESCALE_NORMAL); float f6 = 1.6F; GL11.glScalef(f6, f6, f6); if (type.equals(type.ENTITY)){ GL11.glTranslatef(0.0F, 0.0265F, 0.0F); GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F); GL11.glScalef(0.625F, 0.625F, 0.625F); } if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ GL11.glRotatef(45f, 0f, 1f, 0f); GL11.glRotatef(180f, 0f, 1f, 0f); GL11.glRotatef(30f, 1f, 0f, 0f); if (type.equals(type.EQUIPPED)){ GL11.glRotatef(35f, 1f, 0f, 0f); GL11.glTranslatef(0F, -0.15F, -0.6F); } GL11.glTranslatef(-0.5F, -0.5F, 0.0F); }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){ GL11.glTranslatef(-0.35F, 0.4F, 0.93F); GL11.glRotatef(45f, 0f, 1f, 0f); GL11.glRotatef(-25f, 0f, 0f, 1f); } if (itemStack.getItem().requiresMultipleRenderPasses()){ for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ iicon = itemStack.getItem().getIcon(itemStack, x); f = iicon.getMinU(); f1 = iicon.getMaxU(); f2 = iicon.getMinV(); f3 = iicon.getMaxV(); ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); } }else{ ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); } GL11.glDepthFunc(GL11.GL_EQUAL); texturemanager.bindTexture(RES_ITEM_GLINT); GL11.glEnable(GL11.GL_BLEND); OpenGlHelper.glBlendFunc(768, 1, 1, 0); GL11.glMatrixMode(GL11.GL_TEXTURE); GL11.glPushMatrix(); float f8 = 0.325F; GL11.glScalef(f8, f8, f8); GL11.glTranslatef(17F, 0.0F, 0.0F); GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); GL11.glColor3f(1F, 1F, 0F); ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); GL11.glPopMatrix(); GL11.glPushMatrix(); GL11.glScalef(f8, f8, f8); float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; GL11.glTranslatef(-f9, 0.0F, 0.0F); GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); GL11.glPopMatrix(); GL11.glMatrixMode(GL11.GL_MODELVIEW); GL11.glDisable(GL11.GL_BLEND); GL11.glDepthFunc(GL11.GL_LEQUAL); GL11.glDisable(GL12.GL_RESCALE_NORMAL); texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); TextureUtil.func_147945_b(); } } GL11.glPopMatrix(); } public void renderBlockAsItem(Block block, int damage, float luminacy) { Tessellator tessellator = Tessellator.instance; boolean flag = block == Blocks.grass; if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; int j; float f1; float f2; GL11.glColor4f(1F, 1F, 0F, 1.0F); j = block.getRenderType(); renderBlocksIr.setRenderBoundsFromBlock(block); int k; if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ GL11.glColor4f(1F, 1F, 0F, 1.0F); if (j == 1){ tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, -1.0F, 0.0F); IIcon iicon = renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage); renderBlocksIr.drawCrossedSquares(iicon, -0.5D, -0.5D, -0.5D, 1.0F); tessellator.draw(); }else if (j == 19){ tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, -1.0F, 0.0F); block.setBlockBoundsForItemRender(); renderBlocksIr.renderBlockStemSmall(block, damage, renderBlocksIr.renderMaxY, -0.5D, -0.5D, -0.5D); tessellator.draw(); }else if (j == 23){ tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, -1.0F, 0.0F); block.setBlockBoundsForItemRender(); tessellator.draw(); }else if (j == 13){ block.setBlockBoundsForItemRender(); GL11.glTranslatef(-0.5F, -0.5F, -0.5F); f1 = 0.0625F; tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, -1.0F, 0.0F); renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, 1.0F, 0.0F); renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, 0.0F, -1.0F); tessellator.addTranslation(0.0F, 0.0F, f1); renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); tessellator.addTranslation(0.0F, 0.0F, -f1); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, 0.0F, 1.0F); tessellator.addTranslation(0.0F, 0.0F, -f1); renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); tessellator.addTranslation(0.0F, 0.0F, f1); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(-1.0F, 0.0F, 0.0F); tessellator.addTranslation(f1, 0.0F, 0.0F); renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); tessellator.addTranslation(-f1, 0.0F, 0.0F); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(1.0F, 0.0F, 0.0F); tessellator.addTranslation(-f1, 0.0F, 0.0F); renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); tessellator.addTranslation(f1, 0.0F, 0.0F); tessellator.draw(); GL11.glTranslatef(0.5F, 0.5F, 0.5F); }else if (j == 22){ GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); GL11.glTranslatef(-0.5F, -0.5F, -0.5F); TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); GL11.glEnable(GL12.GL_RESCALE_NORMAL); }else if (j == 6){ tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, -1.0F, 0.0F); renderBlocksIr.renderBlockCropsImpl(block, damage, -0.5D, -0.5D, -0.5D); tessellator.draw(); }else if (j == 2){ tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, -1.0F, 0.0F); renderBlocksIr.renderTorchAtAngle(block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D, 0); tessellator.draw(); }else if (j == 10){ for(k = 0; k < 2; ++k){ if (k == 0){ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); } if (k == 1){ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); } GL11.glTranslatef(-0.5F, -0.5F, -0.5F); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, -1.0F, 0.0F); renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, 1.0F, 0.0F); renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, 0.0F, -1.0F); renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, 0.0F, 1.0F); renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(-1.0F, 0.0F, 0.0F); renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(1.0F, 0.0F, 0.0F); renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); tessellator.draw(); GL11.glTranslatef(0.5F, 0.5F, 0.5F); } }else if (j == 27){ k = 0; GL11.glTranslatef(-0.5F, -0.5F, -0.5F); tessellator.startDrawingQuads(); for(int l = 0; l < 8; ++l){ byte b0 = 0; byte b1 = 1; if (l == 0){ b0 = 2; } if (l == 1){ b0 = 3; } if (l == 2){ b0 = 4; } if (l == 3){ b0 = 5; b1 = 2; } if (l == 4){ b0 = 6; b1 = 3; } if (l == 5){ b0 = 7; b1 = 5; } if (l == 6){ b0 = 6; b1 = 2; } if (l == 7){ b0 = 3; } float f5 = (float)b0 / 16.0F; float f6 = 1.0F - (float)k / 16.0F; float f7 = 1.0F - (float)(k + b1) / 16.0F; k += b1; renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); tessellator.setNormal(0.0F, -1.0F, 0.0F); renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); tessellator.setNormal(0.0F, 1.0F, 0.0F); renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); tessellator.setNormal(0.0F, 0.0F, -1.0F); renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); tessellator.setNormal(0.0F, 0.0F, 1.0F); renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); tessellator.setNormal(-1.0F, 0.0F, 0.0F); renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); tessellator.setNormal(1.0F, 0.0F, 0.0F); renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); } tessellator.draw(); GL11.glTranslatef(0.5F, 0.5F, 0.5F); renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); }else if (j == 11){ for(k = 0; k < 4; ++k){ f2 = 0.125F; if (k == 0){ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); } if (k == 1){ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); } f2 = 0.0625F; if (k == 2){ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); } if (k == 3){ renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); } GL11.glTranslatef(-0.5F, -0.5F, -0.5F); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, -1.0F, 0.0F); renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, 1.0F, 0.0F); renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, 0.0F, -1.0F); renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, 0.0F, 1.0F); renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(-1.0F, 0.0F, 0.0F); renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(1.0F, 0.0F, 0.0F); renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); tessellator.draw(); GL11.glTranslatef(0.5F, 0.5F, 0.5F); } renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); }else if (j == 21){ for(k = 0; k < 3; ++k){ f2 = 0.0625F; if (k == 0){ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); } if (k == 1){ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); } f2 = 0.0625F; if (k == 2){ renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); } GL11.glTranslatef(-0.5F, -0.5F, -0.5F); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, -1.0F, 0.0F); renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, 1.0F, 0.0F); renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, 0.0F, -1.0F); renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, 0.0F, 1.0F); renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(-1.0F, 0.0F, 0.0F); renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(1.0F, 0.0F, 0.0F); renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); tessellator.draw(); GL11.glTranslatef(0.5F, 0.5F, 0.5F); } }else if (j == 32){ for(k = 0; k < 2; ++k){ if (k == 0){ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); } if (k == 1){ renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); } GL11.glTranslatef(-0.5F, -0.5F, -0.5F); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, -1.0F, 0.0F); renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, 1.0F, 0.0F); renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, 0.0F, -1.0F); renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, 0.0F, 1.0F); renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(-1.0F, 0.0F, 0.0F); renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(1.0F, 0.0F, 0.0F); renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); tessellator.draw(); GL11.glTranslatef(0.5F, 0.5F, 0.5F); } renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); }else if (j == 35){ GL11.glTranslatef(-0.5F, -0.5F, -0.5F); renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); GL11.glTranslatef(0.5F, 0.5F, 0.5F); }else if (j == 34){ for(k = 0; k < 3; ++k){ if (k == 0){ renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); }else if (k == 1){ renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); }else if (k == 2){ renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); } GL11.glTranslatef(-0.5F, -0.5F, -0.5F); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, -1.0F, 0.0F); renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, 1.0F, 0.0F); renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, 0.0F, -1.0F); renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, 0.0F, 1.0F); renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(-1.0F, 0.0F, 0.0F); renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(1.0F, 0.0F, 0.0F); renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); tessellator.draw(); GL11.glTranslatef(0.5F, 0.5F, 0.5F); } renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); renderBlocksIr.clearOverrideBlockTexture(); }else if (j == 38){ GL11.glTranslatef(-0.5F, -0.5F, -0.5F); renderBlocksIr.renderBlockHopperMetadata((BlockHopper)block, 0, 0, 0, 0, true); GL11.glTranslatef(0.5F, 0.5F, 0.5F); }else{ FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); } }else{ if (j == 16){ damage = 1; } block.setBlockBoundsForItemRender(); renderBlocksIr.setRenderBoundsFromBlock(block); GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); GL11.glTranslatef(-0.5F, -0.5F, -0.5F); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, -1.0F, 0.0F); renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); tessellator.draw(); GL11.glColor4f(1F, 1F, 0F, 1.0F); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, 1.0F, 0.0F); renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); tessellator.draw(); GL11.glColor4f(1F, 1F, 0F, 1.0F); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, 0.0F, -1.0F); renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, 0.0F, 1.0F); renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(-1.0F, 0.0F, 0.0F); renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); tessellator.draw(); tessellator.startDrawingQuads(); tessellator.setNormal(1.0F, 0.0F, 0.0F); renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); tessellator.draw(); GL11.glTranslatef(0.5F, 0.5F, 0.5F); } } }