              GL11.glPushMatrix();
              GL11.glTranslatef((float)(par4 - 2), (float)(par5 + 3), -3.0F + this.zLevel);
              GL11.glScalef(10.0F, 10.0F, 10.0F);
-@@ -382,11 +381,11 @@
+@@ -382,11 +374,11 @@
              if (Item.itemsList[var6].requiresMultipleRenderPasses())
              {
                  GL11.glDisable(GL11.GL_LIGHTING);

-
-                    for (var15 = 0; var15 <= 1; ++var15)
+                    this.loadTexture(Item.itemsList[var10.itemID].getTextureFile());
+                    
+                    for (var15 = 0; var15 <= var10.getItem().getRenderPasses(var10.getItemDamage()); ++var15)
                     {
                         this.random.setSeed(187L);

 
                     if (this.field_77024_a)
                     {
@@ -257,14 +256,7 @@
             {
                 GL11.glTranslatef(0.0F, 0.0F, var16 + var17);
 
-                if (Block.blocksList[var18.itemID] != null)
-                {
-                    this.loadTexture("/terrain.png");
-                }
-                else
-                {
-                    this.loadTexture("/gui/items.png");
-                }
+                this.loadTexture(Item.itemsList[var18.itemID].getTextureFile());
 
                 GL11.glColor4f(par5, par6, par7, 1.0F);
                 ItemRenderer.renderItemIn2D(var8, var10, var11, var9, var12, var16);
@@ -348,10 +340,10 @@
         float var13;
         float var16;
 
