CraftingTableRecipeManager

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.

script.zs
import crafttweaker.api.recipe.CraftingTableRecipeManager;

Implemented Interfaces

CraftingTableRecipeManager implements the following interfaces. That means all methods defined in these interfaces are also available in CraftingTableRecipeManager

Enum Constants

CraftingTableRecipeManager is an enum. It has 1 enum constants. They are accessible using the code below.

script.zs
CraftingTableRecipeManager.INSTANCE

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

script.zs
CraftingTableRecipeManager.addJsonRecipe(name as string, mapData as MapData) as void
ParameterTypeDescription
Parameter
name
Type
string
Description
name of the recipe
Parameter
mapData
Type
MapData
Description
data representing the json file

Return Type: void

script.zs
CraftingTableRecipeManager.addShaped(recipeName as string, output as IItemStack, ingredients as IIngredient[][], recipeFunction as RecipeFunctionMatrix) as void
ParameterTypeDescriptionOptionalDefaultValue
Parameter
recipeName
Type
string
Description
No Description Provided
Optional
false
DefaultValue
Parameter
output
Type
IItemStack
Description
No Description Provided
Optional
false
DefaultValue
Parameter
ingredients
Type
IIngredient[][]
Description
No Description Provided
Optional
false
DefaultValue
Parameter
recipeFunction
Type
RecipeFunctionMatrix
Description
No Description Provided
Optional
true
DefaultValue

Adds a mirrored shaped recipe to the crafting table.

This method lets you provide a MirrorAxis, which can be used to set which axis the recipe is mirrored on. Use cases are making a recipe only be mirrored vertically or only horizontally.

Return Type: void

script.zs
// CraftingTableRecipeManager.addShapedMirrored(recipeName as string, mirrorAxis as MirrorAxis, output as IItemStack, ingredients as IIngredient[][], recipeFunction as RecipeFunctionMatrix) as void
myCraftingTableRecipeManager.addShapedMirrored("recipe_name", MirrorAxis.DIAGONAL, <item:minecraft:dirt>, [[<item:minecraft:diamond>], [<tag:items:minecraft:wool>]], (usualOut as IItemStack, inputs as IItemStack[][]) => {if(inputs[0][0].displayName == "totally real diamond block" ){return usualOut;}return <item:minecraft:clay>.setDisplayName("Diamond");});
ParameterTypeDescriptionOptionalDefaultValue
Parameter
recipeName
Type
string
Description
name of the recipe to add.
Optional
false
DefaultValue
Parameter
mirrorAxis
Type
MirrorAxis
Description
The axis that this recipe mirrored on.
Optional
false
DefaultValue
Parameter
output
Type
IItemStack
Description
output IItemStack
Optional
false
DefaultValue
Parameter
ingredients
Type
IIngredient[][]
Description
array of an array of IIngredient for inputs
Optional
false
DefaultValue
Parameter
recipeFunction
Type
RecipeFunctionMatrix
Description
optional RecipeFunctionMatrix for more advanced conditions
Optional
true
DefaultValue

Return Type: void

script.zs
CraftingTableRecipeManager.addShapedPattern(recipeName as string, output as IItemStack, pattern as string[], keys as IIngredient[string], recipeFunction as RecipeFunctionMatrix) as void
ParameterTypeDescriptionOptionalDefaultValue
Parameter
recipeName
Type
string
Description
No Description Provided
Optional
false
DefaultValue
Parameter
output
Type
IItemStack
Description
No Description Provided
Optional
false
DefaultValue
Parameter
pattern
Type
string[]
Description
No Description Provided
Optional
false
DefaultValue
Parameter
keys
Type
IIngredient[string]
Description
No Description Provided
Optional
false
DefaultValue
Parameter
recipeFunction
Type
RecipeFunctionMatrix
Description
No Description Provided
Optional
true
DefaultValue

Return Type: void

script.zs
CraftingTableRecipeManager.addShapeless(recipeName as string, output as IItemStack, ingredients as IIngredient[], recipeFunction as RecipeFunctionArray) as void
ParameterTypeDescriptionOptionalDefaultValue
Parameter
recipeName
Type
string
Description
No Description Provided
Optional
false
DefaultValue
Parameter
output
Type
IItemStack
Description
No Description Provided
Optional
false
DefaultValue
Parameter
ingredients
Type
IIngredient[]
Description
No Description Provided
Optional
false
DefaultValue
Parameter
recipeFunction
Type
RecipeFunctionArray
Description
No Description Provided
Optional
true
DefaultValue

Return Type: stdlib.List<T>

script.zs
// CraftingTableRecipeManager.getAllRecipes() as stdlib.List<T>
myCraftingTableRecipeManager.getAllRecipes();

Return Type: @org.openzen.zencode.java.ZenCodeType.Nullable T

script.zs
CraftingTableRecipeManager.getRecipeByName(name as string) as @org.openzen.zencode.java.ZenCodeType.Nullable T
ParameterTypeDescription
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]

script.zs
// CraftingTableRecipeManager.getRecipeMap() as T[ResourceLocation]
myCraftingTableRecipeManager.getRecipeMap();

Return Type: stdlib.List<T>

script.zs
CraftingTableRecipeManager.getRecipesByOutput(output as IIngredient) as stdlib.List<T>
ParameterTypeDescription
Parameter
output
Type
IIngredient
Description
No Description Provided

Remove a recipe based on it’s output.

Return Type: void

script.zs
// CraftingTableRecipeManager.remove(output as IIngredient) as void
myCraftingTableRecipeManager.remove(<tag:items:minecraft:wool>);
ParameterTypeDescription
Parameter
output
Type
IIngredient
Description
output of the recipe

Remove all recipes in this registry

Return Type: void

script.zs
// CraftingTableRecipeManager.removeAll() as void
myCraftingTableRecipeManager.removeAll();

Removes all recipes where the input contains the given IItemStack.

Return Type: void

script.zs
// CraftingTableRecipeManager.removeByInput(input as IItemStack) as void
myCraftingTableRecipeManager.removeByInput(<item:minecraft:iron_ingot>);
ParameterTypeDescription
Parameter
input
Type
IItemStack
Description
The input IItemStack.

Remove recipe based on Registry name modid

Return Type: void

script.zs
CraftingTableRecipeManager.removeByModid(modid as string, exclude as Predicate<string>) as void
ParameterTypeDescriptionOptionalDefaultValue
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

script.zs
// CraftingTableRecipeManager.removeByName(name as string) as void
myCraftingTableRecipeManager.removeByName("minecraft:furnace");
ParameterTypeDescription
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

script.zs
// CraftingTableRecipeManager.removeByRegex(regex as string, exclude as Predicate<string>) as void
myCraftingTableRecipeManager.removeByRegex("\\d_\\d", (name as string) => {return name == "orange_wool";});
ParameterTypeDescriptionOptionalDefaultValue
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

Properties

NameTypeHas GetterHas SetterDescription
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.