  
              for (int k = 0; k < b0; ++k)
              {
-                 GL11.glTranslatef(0.0F, 0.0F, f12 + f11);
+-                GL11.glTranslatef(0.0F, 0.0F, f12 + f11);
 -
 -                if (itemstack.getItemSpriteNumber() == 0 && Block.blocksList[itemstack.itemID] != null)
 +                // Makes items offset when in 3D, like when in 2D, looks much better. Considered a vanilla bug...

 
             if (par3ItemStack.hasEffect())
             {
@@ -590,4 +579,47 @@
     {
         this.doRenderItem((EntityItem)par1Entity, par2, par4, par6, par8, par9);
     }

                     int k1 = Item.itemsList[k].getColorFromItemStack(par3ItemStack, j1);
                     f = (float)(k1 >> 16 & 255) / 255.0F;
                     f1 = (float)(k1 >> 8 & 255) / 255.0F;
@@ -453,7 +438,10 @@
     {
         if (par3ItemStack != null)
         {
