ICookingRecipeManager
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.ICookingRecipeManager;
Description
Default interface for Registry based handlers as they can all remove recipes by ResourceLocation.Implements
ICookingRecipeManager<AbstractCookingRecipe>
implements the following interfaces:
IRecipeManager<AbstractCookingRecipe>
,CommandStringDisplayable
Undocumented Interfaces
Iterable<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
// ICookingRecipeManager<T : AbstractCookingRecipe>.addJsonRecipe(name as string, mapData as MapData);myICookingRecipeManager.addJsonRecipe("recipe_name", {ingredient: <item:minecraft:gold_ore>,result: <item:minecraft:cooked_porkchop>.registryName,experience: 0.35 as float,cookingtime:100});
addRecipe(name as string, output as IItemStack, input as IIngredient, xp as float, cookTime as int)
Adds a recipe based on given params.
Note: A
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 ascript.zs
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
.// ICookingRecipeManager<T : AbstractCookingRecipe>.addRecipe(name as string, output as IItemStack, input as IIngredient, xp as float, cookTime as int);myICookingRecipeManager.addRecipe("wool2diamond", <item:minecraft:diamond>, <tag:items:minecraft:wool>, 1.0, 30);
Parameters:
name: string
Type: string
- Name of the new recipe xp: float
Type: float
- how much xp the player gets cookTime: int
Type: int
- how long it takes to cook addRecipe(name as string, category as CookingBookCategory, output as IItemStack, input as IIngredient, xp as float, cookTime as int)
Adds a recipe based on given params.
Note: A
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 ascript.zs
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
.// ICookingRecipeManager<T : AbstractCookingRecipe>.addRecipe(name as string, category as CookingBookCategory, output as IItemStack, input as IIngredient, xp as float, cookTime as int);myICookingRecipeManager.addRecipe("wool2diamond", <constant:minecraft:cookingbookcategory:misc>, <item:minecraft:diamond>, <tag:items:minecraft:wool>, 1.0, 30);
Parameters:
name: string
Type: string
- Name of the new recipe category: CookingBookCategory
Type: CookingBookCategory
- The category of the recipe in the recipe book xp: float
Type: float
- how much xp the player gets cookTime: int
Type: int
- how long it takes to cook Getter
Returns the BEP to get this thingyscript.zs
myICookingRecipeManager.commandString
Return Type:
string
commandString() as string
Returns the BEP to get this thingyscript.zs
myICookingRecipeManager.commandString();
Return Type:
string
getRecipeByName(name as string) as Recipe?
myICookingRecipeManager.getRecipeByName(myString);
Parameters:
name: string
Type: string
Return Type:
Recipe?
getRecipesByOutput(output as IIngredient) as List<Recipe>
// ICookingRecipeManager<T : AbstractCookingRecipe>.getRecipesByOutput(output as IIngredient) as List<Recipe>;myICookingRecipeManager.getRecipesByOutput(myIIngredient);
Parameters:
output: IIngredient
Type: IIngredient
Return Type:
List<Recipe>
Getter
Returns a map of all known recipes.script.zs
myICookingRecipeManager.recipeMap
Return Type:
Recipe[ResourceLocation]
recipeMap() as Recipe[ResourceLocation]
Returns a map of all known recipes.script.zs
Returns: A Map of recipe name to recipe of all known recipes.
myICookingRecipeManager.recipeMap();
Return Type:
Recipe[ResourceLocation]
remove(output as IIngredient)
Remove a recipe based on it's output.script.zs
myICookingRecipeManager.remove(<tag:items:minecraft:wool>);
Parameters:
removeAll()
Remove all recipes in this registryscript.zs
myICookingRecipeManager.removeAll();
removeByInput(input as IItemStack)
Removes all recipes where the input contains the given IItemStack.script.zs
myICookingRecipeManager.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
// ICookingRecipeManager<T : AbstractCookingRecipe>.removeByModid(modid as string, exclude as function(t as string) as bool = (name as string) as bool => false);myICookingRecipeManager.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
myICookingRecipeManager.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
// ICookingRecipeManager<T : AbstractCookingRecipe>.removeByRegex(regex as string, exclude as function(t as string) as bool = (name as string) as bool => false);myICookingRecipeManager.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
removeRecipe(output as IItemStack, input as IIngredient)
Removes a recipe based on it's output and input.script.zs
// ICookingRecipeManager<T : AbstractCookingRecipe>.removeRecipe(output as IItemStack, input as IIngredient);myICookingRecipeManager.removeRecipe(<item:minecraft:diamond>, <tag:items:minecraft:wool>);
Parameters: