Importing the class

Link to 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.

ZenScript
Copy
import crafttweaker.api.SmithingManager;

Implemented Interfaces

Link to implemented-interfaces

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

Name: 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.

Return Type: void

ZenScript
Copy
// SmithingManager.addJSONRecipe(name as string, data as IData) as void

smithing.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
IData
Description
data representing the json file

Name: addRecipe

Adds a recipe to the smithing table.

Return Type: void

ZenScript
Copy
// SmithingManager.addRecipe(recipeName as string, result as IItemStack, base as IIngredient, addition as IIngredient) as void

smithing.addRecipe("recipe_name", <item:minecraft:golden_apple>, <item:minecraft:apple>, <tag:items:forge:ingots/gold>);
ParameterTypeDescription
Parameter
recipeName
Type
string
Description
Name of the recipe.
Parameter
result
Type
IItemStack
Description
The item created by the recipe.
Parameter
base
Type
IIngredient
Description
The initial ingredient for the recipe.
Parameter
addition
Type
IIngredient
Description
The item added to the base item.

Name: getAllRecipes

Return Type: stdlib.List<WrapperRecipe>

ZenScript
Copy
// SmithingManager.getAllRecipes() as stdlib.List<WrapperRecipe>

smithing.getAllRecipes();

Name: getRecipeByName

Return Type: WrapperRecipe

ZenScript
Copy
SmithingManager.getRecipeByName(name as string) as WrapperRecipe
ParameterTypeDescription
Parameter
name
Type
string
Description
No Description Provided

Name: getRecipeMap

Returns a map of all known recipes.

Returns: A Map of recipe name to recipe of all known recipes.
Return Type: WrapperRecipe[MCResourceLocation]

ZenScript
Copy
// SmithingManager.getRecipeMap() as WrapperRecipe[MCResourceLocation]

smithing.getRecipeMap();

Link to getRecipesByOutput

Name: getRecipesByOutput

Return Type: stdlib.List<WrapperRecipe>

ZenScript
Copy
SmithingManager.getRecipesByOutput(output as IIngredient) as stdlib.List<WrapperRecipe>
ParameterTypeDescription
Parameter
output
Type
IIngredient
Description
No Description Provided

Name: removeAll

Remove all recipes in this registry

Return Type: void

ZenScript
Copy
// SmithingManager.removeAll() as void

smithing.removeAll();

Name: removeByModid

Remove recipe based on Registry name modid

Return Type: void

ZenScript
Copy
// SmithingManager.removeByModid(modid as string) as void

smithing.removeByModid("minecraft");
ParameterTypeDescription
Parameter
modid
Type
string
Description
modid of the recipes to remove

Name: removeByModid

Remove recipe based on Registry name modid with an added exclusion check, so you can remove the whole mod besides a few specified.

Return Type: void

ZenScript
Copy
// SmithingManager.removeByModid(modid as string, exclude as RecipeFilter) as void

smithing.removeByModid("minecraft", (name as string) => {return name == "orange_wool";});
ParameterTypeDescription
Parameter
modid
Type
string
Description
modid of the recipes to remove
Parameter
exclude
Type
RecipeFilter
Description
recipes to exlude from being removed.

Name: removeByName

Remove recipe based on Registry name

Return Type: void

ZenScript
Copy
// SmithingManager.removeByName(name as string) as void

smithing.removeByName("minecraft:furnace");
ParameterTypeDescription
Parameter
name
Type
string
Description
registry name of recipe to remove

Name: removeByRegex

Remove recipe based on regex.

Return Type: void

ZenScript
Copy
// SmithingManager.removeByRegex(regex as string) as void

smithing.removeByRegex("\\d_\\d");
ParameterTypeDescription
Parameter
regex
Type
string
Description
regex to match against

Name: removeByRegex

Remove recipe based on regex with an added exclusion check, so you can remove the whole mod besides a few specified.

Return Type: void

ZenScript
Copy
// SmithingManager.removeByRegex(regex as string, exclude as RecipeFilter) as void

smithing.removeByRegex("\\d_\\d", (name as string) => {return name == "orange_wool";});
ParameterTypeDescription
Parameter
regex
Type
string
Description
regex to match against
Parameter
exclude
Type
RecipeFilter
Description
No Description Provided

Name: removeRecipe

Remove a recipe based on it's output.

Return Type: void

ZenScript
Copy
// SmithingManager.removeRecipe(output as IIngredient) as void

smithing.removeRecipe(<tag:items:minecraft:wool>);
ParameterTypeDescription
Parameter
output
Type
IIngredient
Description
output of the recipe

Name: removeRecipe

Removes a recipe based on it's output.

Return Type: void

ZenScript
Copy
// SmithingManager.removeRecipe(output as IItemStack) as void

smithing.removeRecipe(<item:minecraft:glass>);
ParameterTypeDescription
Parameter
output
Type
IItemStack
Description
output of the recipe

Link to removeRecipeByInput

Name: removeRecipeByInput

Removes all recipes who's input contains the given IItemStack.

Return Type: void

ZenScript
Copy
// SmithingManager.removeRecipeByInput(input as IItemStack) as void

smithing.removeRecipeByInput(<item:minecraft:iron_ingot>);
ParameterTypeDescription
Parameter
input
Type
IItemStack
Description
The input IItemStack.
NameTypeHas GetterHas SetterDescription
Name
allRecipes
Type
stdlib.List<WrapperRecipe>
Has Getter
true
Has Setter
false
Description
No Description Provided
Name
recipeMap
Type
WrapperRecipe[MCResourceLocation]
Has Getter
true
Has Setter
false
Description
Returns a map of all known recipes.