Anvil (Pyrotech) 
Description 
When using hammer or pickaxe it can convert items.
Identifier 
Refer to this via any of the following:
mods.pyrotech.anvil/* Used as page default */
mods.pyrotech.AnvilAdding Recipes 
- Adds recipes in the format - name,- input,- output,- hits,- tier,- type:groovy- mods.pyrotech.anvil.add(String, IIngredient, ItemStack, int, String, String)
- Adds the recipe: groovy- mods.pyrotech.anvil.add(AnvilRecipe)
Example
mods.pyrotech.anvil.add('iron_to_clay', ore('ingotIron'), item('minecraft:clay_ball'), 9, 'granite', 'hammer')Recipe Builder 
Just like other recipe types, the Anvil also uses a recipe builder.
Don't know what a builder is? Check the builder info page out.
Recipe Builder
- Create the Recipe Builder. groovy- mods.pyrotech.anvil.recipeBuilder()
- ResourceLocation. Sets the Resource Location of the recipe.groovy- name(String) name(ResourceLocation)
- IngredientList<IIngredient>. Sets the item inputs of the recipe. Requires exactly 1.groovy- input(IIngredient) input(IIngredient...) input(Collection<IIngredient>)
- ItemStackList. Sets the item outputs of the recipe. Requires exactly 1.groovy- output(ItemStack) output(ItemStack...) output(Collection<ItemStack>)
- int. Sets how often the item needs to be hit. Requires greater than 0. (Default- 0).groovy- hits(int)
- AnvilRecipe.EnumTier. Sets the tier of the required anvil (Granite, Ironclad, Obsidian).groovy- tier(AnvilRecipe.EnumTier) tierGranite() tierIronclad() tierObsidian()
- AnvilRecipe.EnumType. Sets the type of tool required (Hammer, Pickaxe).groovy- type(AnvilRecipe.EnumType) typeHammer() typePickaxe()
- First validates the builder, returning - nulland outputting errors to the log file if the validation failed, then registers the builder and returns the registered object. (returns- nullor- com.codetaylor.mc.pyrotech.modules.tech.basic.recipe.AnvilRecipe).groovy- register()
Example
mods.pyrotech.anvil.recipeBuilder()
    .input(item('minecraft:diamond') * 4)
    .output(item('minecraft:emerald') * 2)
    .hits(5)
    .typeHammer()
    .tierGranite()
    .name('diamond_to_emerald_granite_anvil')
    .register()
mods.pyrotech.anvil.recipeBuilder()
    .input(item('minecraft:diamond') * 8)
    .output(item('minecraft:nether_star') * 1)
    .hits(10)
    .typePickaxe()
    .tierIronclad()
    .name('diamond_to_nether_star_ironclad_anvil')
    .register()
mods.pyrotech.anvil.recipeBuilder()
    .input(item('minecraft:diamond') * 4)
    .output(item('minecraft:gold_ingot') * 16)
    .hits(5)
    .typePickaxe()
    .tierObsidian()
    .name('diamond_to_gold_obsidian_anvil')
    .register()Removing Recipes 
- Removes the recipe with the given Resource Location: groovy- mods.pyrotech.anvil.remove(ResourceLocation)
- Removes the recipe with the given String as its Resource Location: groovy- mods.pyrotech.anvil.remove(String)
- Removes the recipe: groovy- mods.pyrotech.anvil.remove(AnvilRecipe)
- Removes all recipes that match the given output: groovy- mods.pyrotech.anvil.removeByOutput(ItemStack)
- Removes all registered recipes: groovy- mods.pyrotech.anvil.removeAll()
Example
mods.pyrotech.anvil.removeByOutput(item('minecraft:stone_slab', 3))
mods.pyrotech.anvil.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: groovy- mods.pyrotech.anvil.streamRecipes()
