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});
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");});
Parameter | Type | Description | IsOptional | Default Value |
---|
recipeName | String | name of the recipe to add. | false | null |
output | crafttweaker.api.item.IItemStack | output IItemStack | false | null |
ingredients | crafttweaker.api.item.IIngredient[][] | array of an array of IIngredient for inputs | false | null |
recipeFunction | com.blamejared.crafttweaker.api.managers.IRecipeManager.RecipeFunctionMatrix | optional com.blamejared.crafttweaker.api.managers.IRecipeManager.RecipeFunctionMatrix for more advanced conditions | true | null |
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");});
Parameter | Type | Description | IsOptional | Default Value |
---|
recipeName | String | name of the recipe to add. | false | null |
output | crafttweaker.api.item.IItemStack | output IItemStack | false | null |
ingredients | crafttweaker.api.item.IIngredient[][] | array of an array of IIngredient for inputs | false | null |
recipeFunction | com.blamejared.crafttweaker.api.managers.IRecipeManager.RecipeFunctionMatrix | optional com.blamejared.crafttweaker.api.managers.IRecipeManager.RecipeFunctionMatrix for more advanced conditions | true | null |
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");});
Parameter | Type | Description | IsOptional | Default Value |
---|
recipeName | String | name of the recipe to add. | false | null |
output | crafttweaker.api.item.IItemStack | output IItemStack | false | null |
ingredients | crafttweaker.api.item.IIngredient[] | array of IIngredient for inputs | false | null |
recipeFunction | com.blamejared.crafttweaker.api.managers.IRecipeManager.RecipeFunctionArray | optional com.blamejared.crafttweaker.api.managers.IRecipeManager.RecipeFunctionArray for more advanced conditions | true | null |
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");
Parameter | Type | Description |
---|
modid | String | modid of the recipes to remove |
removeByName
Remove recipe based on Registry name
craftingTable.removeByName(name as String);
craftingTable.removeByName("minecraft:furnace");
Parameter | Type | Description |
---|
name | String | registry name of recipe to remove |
removeByRegex
Remove recipe based on regex
craftingTable.removeByRegex(regex as String);
craftingTable.removeByRegex("\\d_\\d");
Parameter | Type | Description |
---|
regex | String | regex 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>);