public static void initCraftableStats()
    {
        if (blockStatsInitialized && itemStatsInitialized)
        {
            HashSet var0 = new HashSet();
            Iterator var1 = CraftingManager.getInstance().getRecipeList().iterator();

            while (var1.hasNext())
            {
                IRecipe var2 = (IRecipe)var1.next();
                var0.add(Integer.valueOf(var2.getRecipeOutput().itemID));
            }

            var1 = FurnaceRecipes.smelting().getSmeltingList().values().iterator();

            while (var1.hasNext())
            {
                ItemStack var4 = (ItemStack)var1.next();
                var0.add(Integer.valueOf(var4.itemID));
            }

            objectCraftStats = new StatBase[32000];
            var1 = var0.iterator();

            while (var1.hasNext())
            {
                Integer var5 = (Integer)var1.next();

                if (Item.itemsList[var5.intValue()] != null)
                {
                    String var3 = StatCollector.translateToLocalFormatted("stat.craftItem", new Object[] {Item.itemsList[var5.intValue()].getStatName()});
                    objectCraftStats[var5.intValue()] = (new StatCrafting(16842752 + var5.intValue(), var3, var5.intValue())).registerStat();
                }
            }

            replaceAllSimilarBlocks(objectCraftStats);
        }
    }