public static void initCraftableStats()
    {
        if (!blockStatsInitialized || !itemStatsInitialized)
        {
            return;
        }

        HashSet hashset = new HashSet();
        IRecipe irecipe;

        for (Iterator iterator = CraftingManager.getInstance().getRecipeList().iterator(); iterator.hasNext(); hashset.add(Integer.valueOf(irecipe.getRecipeOutput().itemID)))
        {
            irecipe = (IRecipe)iterator.next();
        }

        ItemStack itemstack;

        for (Iterator iterator1 = FurnaceRecipes.smelting().getSmeltingList().values().iterator(); iterator1.hasNext(); hashset.add(Integer.valueOf(itemstack.itemID)))
        {
            itemstack = (ItemStack)iterator1.next();
        }

        objectCraftStats = new StatBase[32000];
        Iterator iterator2 = hashset.iterator();

        do
        {
            if (!iterator2.hasNext())
            {
                break;
            }

            Integer integer = (Integer)iterator2.next();

            if (Item.itemsList[integer.intValue()] != null)
            {
                String s = StatCollector.translateToLocalFormatted("stat.craftItem", new Object[]
                        {
                            Item.itemsList[integer.intValue()].getStatName()
                        });
                objectCraftStats[integer.intValue()] = (new StatCrafting(0x1010000 + integer.intValue(), s, integer.intValue())).registerStat();
            }
        }
        while (true);

        replaceAllSimilarBlocks(objectCraftStats);
    }