SmithingManager

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

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

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.

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
namestringname of the recipe
dataIDatadata representing the json file
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
recipeNamestringName of the recipe.
resultIItemStackThe item created by the recipe.
baseIIngredientThe initial ingredient for the recipe.
additionIIngredientThe item added to the base item.
getAllRecipes

Return Type: stdlib.List<WrapperRecipe>

ZenScript
Copy
SmithingManager.getAllRecipes() as stdlib.List<WrapperRecipe>
smithing.getAllRecipes();
getRecipeByName

Return Type: WrapperRecipe

ZenScript
Copy
SmithingManager.getRecipeByName(name as string) as WrapperRecipe
ParameterTypeDescription
namestringNo Description Provided
getRecipesByOutput

Return Type: stdlib.List<WrapperRecipe>

ZenScript
Copy
SmithingManager.getRecipesByOutput(output as IIngredient) as stdlib.List<WrapperRecipe>
ParameterTypeDescription
outputIIngredientNo Description Provided
removeAll

Remove all recipes in this registry

Return Type: void

ZenScript
Copy
SmithingManager.removeAll() as void
smithing.removeAll();
removeByModid

Remove recipe based on Registry name modid

Return Type: void

ZenScript
Copy
SmithingManager.removeByModid(modid as string) as void
smithing.removeByModid("minecraft");
ParameterTypeDescription
modidstringmodid of the recipes to remove
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
modidstringmodid of the recipes to remove
excludeRecipeFilterrecipes to exlude from being removed.
removeByName

Remove recipe based on Registry name

Return Type: void

ZenScript
Copy
SmithingManager.removeByName(name as string) as void
smithing.removeByName("minecraft:furnace");
ParameterTypeDescription
namestringregistry name of recipe to remove
removeByRegex

Remove recipe based on regex

Return Type: void

ZenScript
Copy
SmithingManager.removeByRegex(regex as string) as void
smithing.removeByRegex("\\d_\\d");
ParameterTypeDescription
regexstringregex to match against
removeRecipe

Remove 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
outputIItemStackoutput of the recipe