IRecipeManager<T : Recipe>
Link to irecipemanagert--recipe
Default interface for Registry based handlers as they can all remove recipes by ResourceLocation.
Importing the class
Link to importing-the-class
It might be required for you to import the package if you encounter any issues (like casting an Array), so better be safe than sorry and add the import at the very top of the file.
ZenScript Copyimport crafttweaker.api.recipe.IRecipeManager;
Implemented Interfaces
Link to implemented-interfaces
IRecipeManager implements the following interfaces. That means all methods defined in these interfaces are also available in IRecipeManager
- CommandStringDisplayable
- stdlib.Iterable<RecipeHolder<T>>
Methods
Link to methods
Name: addJsonRecipe
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.
ZenScript Copy// IRecipeManager.addJsonRecipe(name as string, mapData as MapData)
craftingTable.addJsonRecipe("recipe_name", {
ingredient: <item:minecraft:gold_ore>,
result: <item:minecraft:cooked_porkchop>.registryName,
experience: 0.35 as float,
cookingtime:100
});
Parameter | Type | Description |
---|---|---|
Parameter name | Type string | Description name of the recipe |
Parameter mapData | Type MapData | Description data representing the json file |
Name: getRecipeByName
Return Type: RecipeHolder<T>?
ZenScript CopyIRecipeManager.getRecipeByName(name as string) as RecipeHolder<T>?
Parameter | Type |
---|---|
Parameter name | Type string |
Name: getRecipeMap
Returns a map of all known recipes.
Returns: A Map of recipe name to recipe of all known recipes.
Return Type: RecipeHolder<T>[ResourceLocation]
ZenScript Copy// IRecipeManager.getRecipeMap() as RecipeHolder<T>[ResourceLocation]
craftingTable.getRecipeMap();
Name: getRecipesByOutput
Return Type: stdlib.List<RecipeHolder<T>>
ZenScript CopyIRecipeManager.getRecipesByOutput(output as IIngredient) as stdlib.List<RecipeHolder<T>>
Parameter | Type |
---|---|
Parameter output | Type IIngredient |
Name: getRecipesMatching
Return Type: stdlib.List<RecipeHolder<T>>
ZenScript CopyIRecipeManager.getRecipesMatching(predicate as Predicate<RecipeHolder<T>>) as stdlib.List<RecipeHolder<T>>
Parameter | Type |
---|---|
Parameter predicate | Type Predicate<RecipeHolder<T>> |
Name: remove
Remove a recipe based on it's output.
ZenScript Copy// IRecipeManager.remove(output as IIngredient)
craftingTable.remove(<tag:items:minecraft:wool>);
Parameter | Type | Description |
---|---|---|
Parameter output | Type IIngredient | Description output of the recipe |
Name: removeAll
Remove all recipes in this registry
ZenScript Copy// IRecipeManager.removeAll()
craftingTable.removeAll();
Name: removeByInput
Removes all recipes where the input contains the given IItemStack.
ZenScript Copy// IRecipeManager.removeByInput(input as IItemStack)
craftingTable.removeByInput(<item:minecraft:iron_ingot>);
Parameter | Type | Description |
---|---|---|
Parameter input | Type IItemStack | Description The input IItemStack. |
Name: removeByModid
Remove recipe based on Registry name modid
ZenScript CopyIRecipeManager.removeByModid(modid as string, exclude as Predicate<string>)
Parameter | Type | Description | Optional | Default Value |
---|---|---|---|---|
Parameter modid | Type string | Description modid of the recipes to remove | Optional false | Default Value |
Parameter exclude | Type Predicate<string> | Description | Optional true | Default Value (name as string) as bool => false |
Name: removeByName
Remove recipes based on Registry names
ZenScript CopyIRecipeManager.removeByName(names as string[])
Parameter | Type | Description |
---|---|---|
Parameter names | Type string[] | Description registry names of recipes to remove |
Name: removeByRegex
Remove recipe based on regex with an added exclusion check, so you can remove the whole mod besides a few specified.
ZenScript Copy// IRecipeManager.removeByRegex(regex as string, exclude as Predicate<string>)
craftingTable.removeByRegex("\\d_\\d", (name as string) => {return name == "orange_wool";});
Parameter | Type | Description | Optional | Default Value |
---|---|---|---|---|
Parameter regex | Type string | Description regex to match against | Optional false | Default Value |
Parameter exclude | Type Predicate<string> | Description | Optional true | Default Value (name as string) as bool => false |
Name: removeMatching
Removes all recipes that match the given predicate
ZenScript Copy// IRecipeManager.removeMatching(predicate as Predicate<RecipeHolder<T>>)
craftingTable.removeMatching((holder) => "wool" in holder.id.path);
Parameter | Type | Description |
---|---|---|
Parameter predicate | Type Predicate<RecipeHolder<T>> | Description a predicate of RecipeHolder |
Properties
Link to properties
Name | Type | Has Getter | Has Setter | Description |
---|---|---|---|---|
Name allRecipes | Type stdlib.List<RecipeHolder<T>> | Has Getter true | Has Setter false | Description |
Name recipeMap | Type RecipeHolder<T>[ResourceLocation] | Has Getter true | Has Setter false | Description Returns a map of all known recipes. |