IRecipeManager
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.registries.IRecipeManager;
Implemented Interfaces
IRecipeManager implements the following interfaces. That means all methods defined in these interfaces are also available in IRecipeManager
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 IRecipeType systems.
Return Type: void
IRecipeManager.addJSONRecipe(name as string, data as IData) as void
craftingTable.addJSONRecipe("recipe_name", {ingredient:{item:<item:minecraft:gold_ore>.registryName},result:<item:minecraft:cooked_porkchop>.registryName,experience:0.35 as float, cookingtime:100});
Parameter | Type | Description |
---|
name | string | name of the recipe |
data | IData | data representing the json file |
Return Type: stdlib.List<WrapperRecipe>
IRecipeManager.getAllRecipes() as stdlib.List<WrapperRecipe>
craftingTable.getAllRecipes();
Return Type: WrapperRecipe
IRecipeManager.getRecipeByName(name as string) as WrapperRecipe
Parameter | Type | Description |
---|
name | string | No Description Provided |
Return Type: stdlib.List<WrapperRecipe>
IRecipeManager.getRecipesByOutput(output as IIngredient) as stdlib.List<WrapperRecipe>
Parameter | Type | Description |
---|
output | IIngredient | No Description Provided |
Remove all recipes in this registry
Return Type: void
IRecipeManager.removeAll() as void
craftingTable.removeAll();
Remove recipe based on Registry name modid
Return Type: void
IRecipeManager.removeByModid(modid as string) as void
craftingTable.removeByModid("minecraft");
Parameter | Type | Description |
---|
modid | string | modid of the recipes to remove |
Remove recipe based on Registry name modid with an added exclusion check, so you can remove the whole mod besides a few specified.
Return Type: void
IRecipeManager.removeByModid(modid as string, exclude as RecipeFilter) as void
craftingTable.removeByModid("minecraft", (name as string) => {return name == "orange_wool";});
Parameter | Type | Description |
---|
modid | string | modid of the recipes to remove |
exclude | RecipeFilter | recipes to exlude from being removed. |
Remove recipe based on Registry name
Return Type: void
IRecipeManager.removeByName(name as string) as void
craftingTable.removeByName("minecraft:furnace");
Parameter | Type | Description |
---|
name | string | registry name of recipe to remove |
Remove recipe based on regex
Return Type: void
IRecipeManager.removeByRegex(regex as string) as void
craftingTable.removeByRegex("\\d_\\d");
Parameter | Type | Description |
---|
regex | string | regex to match against |
Remove a recipe based on it's output.
Return Type: void
IRecipeManager.removeRecipe(output as IItemStack) as void
craftingTable.removeRecipe(<item:minecraft:glass>);
Parameter | Type | Description |
---|
output | IItemStack | output of the recipe |