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.

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.

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
nameStringname of the recipe
datacrafttweaker.api.data.IDatadata representing the json file

addShaped

Adds a shaped recipe to the crafting table

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
recipeNameStringname of the recipe to add.falsenull
outputcrafttweaker.api.item.IItemStackoutput IItemStackfalsenull
ingredientscrafttweaker.api.item.IIngredient[][]array of an array of IIngredient for inputsfalsenull
recipeFunctioncom.blamejared.crafttweaker.api.managers.IRecipeManager.RecipeFunctionMatrixoptional com.blamejared.crafttweaker.api.managers.IRecipeManager.RecipeFunctionMatrix for more advanced conditionstruenull

addShapedMirrored

Adds a mirrored shaped recipe to the crafting table

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
recipeNameStringname of the recipe to add.falsenull
outputcrafttweaker.api.item.IItemStackoutput IItemStackfalsenull
ingredientscrafttweaker.api.item.IIngredient[][]array of an array of IIngredient for inputsfalsenull
recipeFunctioncom.blamejared.crafttweaker.api.managers.IRecipeManager.RecipeFunctionMatrixoptional com.blamejared.crafttweaker.api.managers.IRecipeManager.RecipeFunctionMatrix for more advanced conditionstruenull

addShapeless

Adds a shapeless recipe to the crafting table

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
recipeNameStringname of the recipe to add.falsenull
outputcrafttweaker.api.item.IItemStackoutput IItemStackfalsenull
ingredientscrafttweaker.api.item.IIngredient[]array of IIngredient for inputsfalsenull
recipeFunctioncom.blamejared.crafttweaker.api.managers.IRecipeManager.RecipeFunctionArrayoptional com.blamejared.crafttweaker.api.managers.IRecipeManager.RecipeFunctionArray for more advanced conditionstruenull

removeAll

Remove all recipes in this registry

craftingTable.removeAll();

removeByModid

Remove recipe based on Registry name modid

craftingTable.removeByModid(modid as String);
craftingTable.removeByModid("minecraft");
ParameterTypeDescription
modidStringmodid of the recipes to remove

removeByName

Remove recipe based on Registry name

craftingTable.removeByName(name as String);
craftingTable.removeByName("minecraft:furnace");
ParameterTypeDescription
nameStringregistry name of recipe to remove

removeByRegex

Remove recipe based on regex

craftingTable.removeByRegex(regex as String);
craftingTable.removeByRegex("\\d_\\d");
ParameterTypeDescription
regexStringregex to match against

removeRecipe

Remove a recipe based on it's output.

craftingTable.removeRecipe(output as crafttweaker.api.item.IItemStack);
craftingTable.removeRecipe(<item:minecraft:glass>);
ParameterTypeDescription
outputcrafttweaker.api.item.IItemStackoutput of the recipe