Infusion Crafting (Thaumcraft)
Description
Combines any number of items and aspects together in the Infusion Altar, potentially requiring a specific research to be completed.
Identifier
Refer to this via any of the following:
mods.thaumcraft.infusion_crafting/* Used as page default */
mods.thaumcraft.infusioncrafting
mods.thaumcraft.infusionCrafting
mods.thaumcraft.InfusionCrafting
mods.tc.infusion_crafting
mods.tc.infusioncrafting
mods.tc.infusionCrafting
mods.tc.InfusionCrafting
mods.thaum.infusion_crafting
mods.thaum.infusioncrafting
mods.thaum.infusionCrafting
mods.thaum.InfusionCrafting
Adding Recipes
Adds recipes in the format
research
,outputResult
,inst
,aspects
,centralItem
,input
:groovymods.thaumcraft.infusion_crafting.add(String, ItemStack, int, Collection<AspectStack>, IIngredient, IIngredient...)
Recipe Builder
Just like other recipe types, the Infusion Crafting also uses a recipe builder.
Don't know what a builder is? Check the builder info page out.
mods.thaumcraft.infusion_crafting.recipeBuilder()
AspectList
. Sets the Aspects and amounts required to complete the craft.groovyaspect(AspectList) aspect(AspectStack) aspect(String, int) aspect(AspectStack...) aspect(Collection<AspectStack>)
IIngredient
. Sets the item on the center pedestal. Requires not null.groovymainInput(IIngredient)
int
. Sets the instability of the recipe. (Default0
).groovyinstability(int)
String
. Sets the research required to craft the recipe.groovyresearchKey(String)
First validates the builder, returning
null
and outputting errors to the log file if the validation failed, then registers the builder and returns the registered object. (returnsnull
orthaumcraft.api.crafting.InfusionRecipe
).groovyregister()
Example
mods.thaumcraft.infusion_crafting.recipeBuilder()
.researchKey('UNLOCKALCHEMY@3')
.mainInput(item('minecraft:gunpowder'))
.output(item('minecraft:gold_ingot'))
.aspect(aspect('terra') * 20)
.aspect('ignis', 30)
.input(crystal('aer'))
.input(crystal('ignis'))
.input(crystal('aqua'))
.input(crystal('terra'))
.input(crystal('ordo'))
.instability(10)
.register()
Removing Recipes
Removes all recipes that match the given output:
groovymods.thaumcraft.infusion_crafting.removeByOutput(IIngredient)
Removes all registered recipes:
groovymods.thaumcraft.infusion_crafting.removeAll()
Example
mods.thaumcraft.infusion_crafting.removeByOutput(item('thaumcraft:crystal_terra'))
mods.thaumcraft.infusion_crafting.removeAll()
Getting the value of recipes
Iterates through every entry in the registry, with the ability to call remove on any element to remove it:
groovymods.thaumcraft.infusion_crafting.streamRecipes()