Barrel (Pyrotech) 
Description 
Over time converts a fluid with four items into a new fluid.
Identifier 
Refer to this via any of the following:
mods.pyrotech.barrel/* Used as page default */
mods.pyrotech.BarrelAdding Recipes 
- Adds recipes in the format - name,- input1,- input2,- input3,- input4,- fluidInput,- fluidOutput,- duration:groovy- mods.pyrotech.barrel.add(String, IIngredient, IIngredient, IIngredient, IIngredient, FluidStack, FluidStack, int)
- Adds the recipe: groovy- mods.pyrotech.barrel.add(BarrelRecipe)
Example
mods.pyrotech.barrel.add('iron_dirt_water_to_lava', ore('ingotIron'), ore('ingotIron'), item('minecraft:dirt'), item('minecraft:dirt'), fluid('water'), fluid('lava'), 1000)Recipe Builder 
Just like other recipe types, the Barrel 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.barrel.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 4.groovy- input(IIngredient) input(IIngredient...) input(Collection<IIngredient>)
- FluidStackList. Sets the fluid inputs of the recipe. Requires exactly 1.groovy- fluidInput(FluidStack) fluidInput(FluidStack...) fluidInput(Collection<FluidStack>)
- FluidStackList. Sets the fluid outputs of the recipe. Requires exactly 1.groovy- fluidOutput(FluidStack) fluidOutput(FluidStack...) fluidOutput(Collection<FluidStack>)
- int. Sets the time required for the recipe to complete. Requires greater than or equal to 1. (Default- 0).groovy- duration(int)
- 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.BarrelRecipe).groovy- register()
Example
mods.pyrotech.barrel.recipeBuilder()
    .input(item('minecraft:diamond'), item('minecraft:diamond'), item('minecraft:diamond'), item('minecraft:emerald'))
    .fluidInput(fluid('water') * 1000)
    .fluidOutput(fluid('amongium') * 1000)
    .duration(1000)
    .name('diamond_emerald_and_water_to_amongium')
    .register()Removing Recipes 
- Removes the recipe with the given Resource Location: groovy- mods.pyrotech.barrel.remove(ResourceLocation)
- Removes the recipe with the given String as its Resource Location: groovy- mods.pyrotech.barrel.remove(String)
- Removes the recipe: groovy- mods.pyrotech.barrel.remove(BarrelRecipe)
- Removes all recipes that match the given output: groovy- mods.pyrotech.barrel.removeByOutput(FluidStack)
- Removes all registered recipes: groovy- mods.pyrotech.barrel.removeAll()
Example
mods.pyrotech.barrel.removeByOutput(fluid('freckleberry_wine') * 1000)
mods.pyrotech.barrel.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.barrel.streamRecipes()
