IRecipeManager
Importing the class
If you need to reference this type directly, like when casting an Array, or as a parameter, you will need to import it. Simply add the import at the top of the file.
import crafttweaker.api.recipe.IRecipeManager;
Description
Default interface for Registry based handlers as they can all remove recipes by ResourceLocation.Implements
IRecipeManager<Recipe>
implements the following interfaces:
Undocumented Interfaces
Iterable<RecipeHolder<Recipe>>
Members
addJsonRecipe(name as string, mapData as MapData)
Adds a recipe based on a provided IData. The provided IData should represent a DataPack json, this effectively allows you to register recipes for any DataPack supporting RecipeType systems.script.zs
myIRecipeManager.addJsonRecipe("recipe_name", {ingredient: <item:minecraft:gold_ore>,result: <item:minecraft:cooked_porkchop>.registryName,experience: 0.35 as float,cookingtime:100});
Getter
myIRecipeManager.allRecipes
Return Type:
List<RecipeHolder<Recipe>>
getRecipeByName(name as string) as RecipeHolder<Recipe>
myIRecipeManager.getRecipeByName(myString);
Parameters:
name: string
Type: string
Return Type:
RecipeHolder<Recipe>
getRecipesByOutput(output as IIngredient) as List<RecipeHolder<Recipe>>
// IRecipeManager<T : Recipe>.getRecipesByOutput(output as IIngredient) as List<RecipeHolder<Recipe>>;myIRecipeManager.getRecipesByOutput(myIIngredient);
Parameters:
output: IIngredient
Type: IIngredient
Return Type:
List<RecipeHolder<Recipe>>
getRecipesMatching(predicate as function(t as RecipeHolder<Recipe>) as bool) as List<RecipeHolder<Recipe>>
// IRecipeManager<T : Recipe>.getRecipesMatching(predicate as function(t as RecipeHolder<Recipe>) as bool) as List<RecipeHolder<Recipe>>;myIRecipeManager.getRecipesMatching(myPredicate);
Parameters:
predicate: function(t as RecipeHolder<Recipe>) as bool
Type: function(t as RecipeHolder<Recipe>) as bool
Return Type:
List<RecipeHolder<Recipe>>
Getter
Returns a map of all known recipes.script.zs
myIRecipeManager.recipeMap
Return Type:
RecipeHolder<Recipe>[ResourceLocation]
recipeMap() as RecipeHolder<Recipe>[ResourceLocation]
Returns a map of all known recipes.script.zs
Returns: A Map of recipe name to recipe of all known recipes.
myIRecipeManager.recipeMap();
Return Type:
RecipeHolder<Recipe>[ResourceLocation]
remove(output as IIngredient)
Remove a recipe based on it's output.script.zs
myIRecipeManager.remove(<tag:items:minecraft:wool>);
Parameters:
removeAll()
Remove all recipes in this registryscript.zs
myIRecipeManager.removeAll();
removeByInput(input as IItemStack)
Removes all recipes where the input contains the given IItemStack.script.zs
myIRecipeManager.removeByInput(<item:minecraft:iron_ingot>);
Parameters:
removeByModid(modid as string, exclude as function(t as string) as bool = (name as string) as bool => false)
Remove recipe based on Registry name modidscript.zs
// IRecipeManager<T : Recipe>.removeByModid(modid as string, exclude as function(t as string) as bool = (name as string) as bool => false);myIRecipeManager.removeByModid("minecraft", myPredicate);
Parameters:
modid: string
Type: string
- modid of the recipes to remove exclude: function(t as string) as bool
(optional) Type: function(t as string) as bool
Default Value: (name as string) as bool => false
removeByName(names as string[])
Remove recipes based on Registry namesscript.zs
myIRecipeManager.removeByName(myString[]);
Parameters:
names: string[]
Type: string[]
- registry names of recipes to remove removeByRegex(regex as string, exclude as function(t as string) as bool = (name as string) as bool => false)
Remove recipe based on regex with an added exclusion check, so you can remove the whole mod besides a few specified.script.zs
// IRecipeManager<T : Recipe>.removeByRegex(regex as string, exclude as function(t as string) as bool = (name as string) as bool => false);myIRecipeManager.removeByRegex("\\d_\\d", (name as string) => {return name == "orange_wool";});
Parameters:
regex: string
Type: string
- regex to match against exclude: function(t as string) as bool
(optional) Type: function(t as string) as bool
Default Value: (name as string) as bool => false
removeMatching(predicate as function(t as RecipeHolder<Recipe>) as bool)
Removes all recipes that match the given predicatescript.zs
// IRecipeManager<T : Recipe>.removeMatching(predicate as function(t as RecipeHolder<Recipe>) as bool);myIRecipeManager.removeMatching((holder) => "wool" in holder.id.path);
Parameters:
predicate: function(t as RecipeHolder<Recipe>) as bool
Type: function(t as RecipeHolder<Recipe>) as bool
- a predicate of RecipeHolder<T> to test recipes against.