CraftingTableManager

This class was added by a mod with mod-id crafttweaker. So you need to have this mod installed if you want to use this feature.

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.

script.zs
crafttweaker.api.CraftingTableManager

Implemented Interfaces

CraftingTableManager implements the following interfaces. That means any method available to them can also be used on this class.

Methods

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 IRecipeType systems.

script.zs
craftingTable.addJSONRecipe(name as String, data as crafttweaker.api.data.IData);
craftingTable.addJSONRecipe("recipe_name", {ingredient:{item:<item:minecraft:gold_ore>.registryName},result:<item:minecraft:cooked_porkchop>.registryName,experience:0.35 as float, cookingtime:100});
ParameterTypeDescription
Parameter
name
Type
String
Description
name of the recipe
Parameter
data
Type
crafttweaker.api.data.IData
Description
data representing the json file

addShaped

Adds a shaped recipe to the crafting table

script.zs
craftingTable.addShaped(recipeName as String, output as crafttweaker.api.item.IItemStack, ingredients as crafttweaker.api.item.IIngredient[][], recipeFunction as com.blamejared.crafttweaker.api.managers.IRecipeManager.RecipeFunctionMatrix);
craftingTable.addShaped("recipe_name", <item:minecraft:dirt>, [[<item:minecraft:diamond>], [<tag:minecraft:wool>]]);
craftingTable.addShaped("recipe_name", <item:minecraft:dirt>, [[<item:minecraft:diamond>], [<tag: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");});
ParameterTypeDescriptionIsOptionalDefault Value
Parameter
recipeName
Type
String
Description
name of the recipe to add.
IsOptional
false
Default Value
null
Parameter
output
Type
crafttweaker.api.item.IItemStack
Description
output IItemStack
IsOptional
false
Default Value
null
Parameter
ingredients
Type
crafttweaker.api.item.IIngredient[][]
Description
array of an array of IIngredient for inputs
IsOptional
false
Default Value
null
Parameter
recipeFunction
Type
com.blamejared.crafttweaker.api.managers.IRecipeManager.RecipeFunctionMatrix
Description
optional com.blamejared.crafttweaker.api.managers.IRecipeManager.RecipeFunctionMatrix for more advanced conditions
IsOptional
true
Default Value
null

addShapedMirrored

Adds a mirrored shaped recipe to the crafting table

script.zs
craftingTable.addShapedMirrored(recipeName as String, output as crafttweaker.api.item.IItemStack, ingredients as crafttweaker.api.item.IIngredient[][], recipeFunction as com.blamejared.crafttweaker.api.managers.IRecipeManager.RecipeFunctionMatrix);
craftingTable.addShapedMirrored("recipe_name", <item:minecraft:dirt>, [[<item:minecraft:diamond>], [<tag:minecraft:wool>]]);
craftingTable.addShapedMirrored("recipe_name", <item:minecraft:dirt>, [[<item:minecraft:diamond>], [<tag: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");});
ParameterTypeDescriptionIsOptionalDefault Value
Parameter
recipeName
Type
String
Description
name of the recipe to add.
IsOptional
false
Default Value
null
Parameter
output
Type
crafttweaker.api.item.IItemStack
Description
output IItemStack
IsOptional
false
Default Value
null
Parameter
ingredients
Type
crafttweaker.api.item.IIngredient[][]
Description
array of an array of IIngredient for inputs
IsOptional
false
Default Value
null
Parameter
recipeFunction
Type
com.blamejared.crafttweaker.api.managers.IRecipeManager.RecipeFunctionMatrix
Description
optional com.blamejared.crafttweaker.api.managers.IRecipeManager.RecipeFunctionMatrix for more advanced conditions
IsOptional
true
Default Value
null

addShapeless

Adds a shapeless recipe to the crafting table

script.zs
craftingTable.addShapeless(recipeName as String, output as crafttweaker.api.item.IItemStack, ingredients as crafttweaker.api.item.IIngredient[], recipeFunction as com.blamejared.crafttweaker.api.managers.IRecipeManager.RecipeFunctionArray);
craftingTable.addShapeless("recipe_name", <item:minecraft:dirt>, [<item:minecraft:diamond>, <tag:minecraft:wool>]);
craftingTable.addShapeless("recipe_name", <item:minecraft:dirt>, [<item:minecraft:diamond>, <tag:minecraft:wool>], (usualOut as IItemStack, inputs as IItemStack[]) => {if(inputs[0].displayName == "totally real diamond block" ){return usualOut;}return <item:minecraft:clay>.setDisplayName("Diamond");});
ParameterTypeDescriptionIsOptionalDefault Value
Parameter
recipeName
Type
String
Description
name of the recipe to add.
IsOptional
false
Default Value
null
Parameter
output
Type
crafttweaker.api.item.IItemStack
Description
output IItemStack
IsOptional
false
Default Value
null
Parameter
ingredients
Type
crafttweaker.api.item.IIngredient[]
Description
array of IIngredient for inputs
IsOptional
false
Default Value
null
Parameter
recipeFunction
Type
com.blamejared.crafttweaker.api.managers.IRecipeManager.RecipeFunctionArray
Description
optional com.blamejared.crafttweaker.api.managers.IRecipeManager.RecipeFunctionArray for more advanced conditions
IsOptional
true
Default Value
null

removeAll

Remove all recipes in this registry

script.zs
craftingTable.removeAll();

removeByModid

Remove recipe based on Registry name modid

script.zs
craftingTable.removeByModid(modid as String);
craftingTable.removeByModid("minecraft");
ParameterTypeDescription
Parameter
modid
Type
String
Description
modid of the recipes to remove

removeByName

Remove recipe based on Registry name

script.zs
craftingTable.removeByName(name as String);
craftingTable.removeByName("minecraft:furnace");
ParameterTypeDescription
Parameter
name
Type
String
Description
registry name of recipe to remove

removeByRegex

Remove recipe based on regex

script.zs
craftingTable.removeByRegex(regex as String);
craftingTable.removeByRegex("\\d_\\d");
ParameterTypeDescription
Parameter
regex
Type
String
Description
regex to match against

removeRecipe

Remove a recipe based on it’s output.

script.zs
craftingTable.removeRecipe(output as crafttweaker.api.item.IItemStack);
craftingTable.removeRecipe(<item:minecraft:glass>);
ParameterTypeDescription
Parameter
output
Type
crafttweaker.api.item.IItemStack
Description
output of the recipe