public override Dictionary <string, IRecipe> GetRecipes(Encodings encodings)
            {
                Dictionary <string, IRecipe> recipes = new Dictionary <string, IRecipe>();

                foreach (JSONItem item in encodings.ResourceItems)
                {
                    if (AllowedResourceForms.Contains(item.Form))
                    {
                        if (OnlySpecificResources)
                        {
                            if (!AllowedResources.Contains(item.ID))
                            {
                                continue;
                            }
                        }
                        List <ItemRate> products = new List <ItemRate>
                        {
                            new ItemRate(item.ID, ItemsPerCycle)
                        };
                        IRecipe recipe = new JSONResourceExtractorRecipe(ID + item.ID, CycleTime, ID, new List <ItemRate>(), products, item.DisplayName);
                        recipes.Add(recipe.ID, recipe);
                    }
                }
                return(recipes);
            }
        public virtual Dictionary <string, IRecipe> GetRecipes(Encodings encodings)
        {
            Dictionary <string, IRecipe> recipes = new Dictionary <string, IRecipe>();

            foreach (JSONItem item in encodings.ResourceItems)
            {
                if (AllowedResourceForms.Contains(item.Form))
                {
                    if (OnlySpecificResources)
                    {
                        if (!AllowedResources.Contains(item.ID))
                        {
                            continue;
                        }
                    }
                    foreach (string resourceNodeType in NODE_CYCLE_TIME_DIVISORS.Keys)
                    {
                        List <ItemRate> products = new List <ItemRate>
                        {
                            new ItemRate(item.ID, ItemsPerCycle)
                        };
                        IRecipe recipe = new JSONResourceExtractorRecipe(ID + resourceNodeType + item.ID, CycleTime / NODE_CYCLE_TIME_DIVISORS[resourceNodeType], ID, new List <ItemRate>(), products, resourceNodeType + " " + item.DisplayName);
                        recipes.Add(recipe.ID, recipe);
                    }
                }
            }
            return(recipes);
        }