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(var2.getRecipeOutput().itemID);
            }

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

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

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

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

            replaceAllSimilarBlocks(objectCraftStats);
        }
    }