ICookingRecipeManager<T : AbstractCookingRecipe>
Default interface for Registry based handlers as they can all remove recipes by ResourceLocation.
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.
import crafttweaker.api.recipe.ICookingRecipeManager;
Implemented Interfaces
ICookingRecipeManager implements the following interfaces. That means all methods defined in these interfaces are also available in ICookingRecipeManager
Methods
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.
Return Type: void
ICookingRecipeManager.addJsonRecipe(name as string, mapData as MapData) as void
Parameter | Type | Description |
---|---|---|
Parameter name | Type string | Description name of the recipe |
Parameter mapData | Type MapData | Description data representing the json file |
Adds a recipe based on given params.
Note: A cookTime
of 0
will cause the recipe to never complete, it will burn and use fuel, but no progress will be made on the recipe, it needs to be at-least 1
or more.
Saying that, if you would like to make a recipe that will never complete
(for example being able to give the player an infinitely burning furnace for whatever reason), you can
still use a cookTime
of 0
.
Return Type: void
// ICookingRecipeManager.addRecipe(name as string, output as IItemStack, input as IIngredient, xp as float, cookTime as int) as void
furnace.addRecipe("wool2diamond", <item:minecraft:diamond>, <tag:items:minecraft:wool>, 1.0, 30);
Parameter | Type | Description |
---|---|---|
Parameter name | Type string | Description Name of the new recipe |
Parameter output | Type IItemStack | Description IItemStack output of the recipe |
Parameter input | Type IIngredient | Description IIngredient input of the recipe |
Parameter xp | Type float | Description how much xp the player gets |
Parameter cookTime | Type int | Description how long it takes to cook |
Return Type: stdlib.List<T>
// ICookingRecipeManager.getAllRecipes() as stdlib.List<T>
furnace.getAllRecipes();
Return Type: @org.openzen.zencode.java.ZenCodeType.Nullable T
ICookingRecipeManager.getRecipeByName(name as string) as @org.openzen.zencode.java.ZenCodeType.Nullable T
Parameter | Type | Description |
---|---|---|
Parameter name | Type string | Description No Description Provided |
Returns a map of all known recipes.
Returns: A Map of recipe name to recipe of all known recipes.
Return Type: T[ResourceLocation]
// ICookingRecipeManager.getRecipeMap() as T[ResourceLocation]
furnace.getRecipeMap();
Return Type: stdlib.List<T>
ICookingRecipeManager.getRecipesByOutput(output as IIngredient) as stdlib.List<T>
Parameter | Type | Description |
---|---|---|
Parameter output | Type IIngredient | Description No Description Provided |
Remove a recipe based on it’s output.
Return Type: void
// ICookingRecipeManager.remove(output as IIngredient) as void
furnace.remove(<tag:items:minecraft:wool>);
Parameter | Type | Description |
---|---|---|
Parameter output | Type IIngredient | Description output of the recipe |
Remove all recipes in this registry
Return Type: void
// ICookingRecipeManager.removeAll() as void
furnace.removeAll();
Removes all recipes where the input contains the given IItemStack.
Return Type: void
// ICookingRecipeManager.removeByInput(input as IItemStack) as void
furnace.removeByInput(<item:minecraft:iron_ingot>);
Parameter | Type | Description |
---|---|---|
Parameter input | Type IItemStack | Description The input IItemStack. |
Remove recipe based on Registry name modid
Return Type: void
ICookingRecipeManager.removeByModid(modid as string, exclude as Predicate<string>) as void
Parameter | Type | Description | Optional | DefaultValue |
---|---|---|---|---|
Parameter modid | Type string | Description modid of the recipes to remove | Optional false | DefaultValue |
Parameter exclude | Type Predicate<string> | Description No Description Provided | Optional true | DefaultValue (name) => false |
Remove recipe based on Registry name
Return Type: void
// ICookingRecipeManager.removeByName(name as string) as void
furnace.removeByName("minecraft:furnace");
Parameter | Type | Description |
---|---|---|
Parameter name | Type string | Description registry name of recipe to remove |
Remove recipe based on regex with an added exclusion check, so you can remove the whole mod besides a few specified.
Return Type: void
// ICookingRecipeManager.removeByRegex(regex as string, exclude as Predicate<string>) as void
furnace.removeByRegex("\\d_\\d", (name as string) => {return name == "orange_wool";});
Parameter | Type | Description | Optional | DefaultValue |
---|---|---|---|---|
Parameter regex | Type string | Description regex to match against | Optional false | DefaultValue |
Parameter exclude | Type Predicate<string> | Description No Description Provided | Optional true | DefaultValue (name) => false |
Removes a recipe based on it’s output and input.
Return Type: void
// ICookingRecipeManager.removeRecipe(output as IItemStack, input as IIngredient) as void
furnace.removeRecipe(<item:minecraft:diamond>, <tag:items:minecraft:wool>);
Parameter | Type | Description |
---|---|---|
Parameter output | Type IItemStack | Description IItemStack output of the recipe. |
Parameter input | Type IIngredient | Description IIngredient of the recipe to remove. |
Properties
Name | Type | Has Getter | Has Setter | Description |
---|---|---|---|---|
Name allRecipes | Type stdlib.List<T> | Has Getter true | Has Setter false | Description No Description Provided |
Name recipeMap | Type T[ResourceLocation] | Has Getter true | Has Setter false | Description Returns a map of all known recipes. |