# Configuration file

general {

    worktable_common {
        # If this is true, a player will be allowed to sneak + click using an
        # empty hand to remove all items from the worktable's crafting grid.
        # The removed items will be placed into the player's inventory or on top
        # of the worktable if the player's inventory is full.
        # Default: false
        B:ALLOW_RECIPE_CLEAR=false

        # If this is true, a player will be allowed to sneak + click using a
        # hammer to automatically place items from their inventory into the
        # worktable's crafting grid that match the ingredients for the last
        # recipe completed. The hammer will be damaged, see RECIPE_REPEAT_TOOL_DAMAGE.
        # Default: false
        B:ALLOW_RECIPE_REPEAT=false

        # Any recipe that you can complete in a vanilla crafting table can also
        # be completed in this mod's worktables.
        # 
        # If this list is not empty, recipes listed here will be disallowed.
        # 
        # The whitelist takes priority over the blacklist.
        # 
        # String format is a recipe resource location: (domain):(path) or (domain):*
        S:RECIPE_BLACKLIST <
         >

        # If ALLOW_RECIPE_REPEAT is enabled, this is the amount of damage that
        # will be applied to the hammer. Set to zero to disable.
        # Default: 1
        # Min: 0
        # Max: 2147483647
        I:RECIPE_REPEAT_TOOL_DAMAGE=1

        # Any recipe that you can complete in a vanilla crafting table can also
        # be completed in this mod's worktables.
        # 
        # If this list is not empty, only the recipes listed here will be allowed.
        # 
        # The whitelist takes priority over the blacklist.
        # 
        # String format is a recipe resource location: (domain):(path) or (domain):*
        S:RECIPE_WHITELIST <
         >
    }

    worktable {
        # The number of crafts that the worktable can perform before it breaks.
        # This is only relevant if the `USES_DURABILITY` flag is true.
        # Default: 64
        # Min: 1
        # Max: 2147483647
        I:DURABILITY=64

        # How much exhaustion to apply per completed craft.
        # Default: 0
        # Min: 0.0
        # Max: 40.0
        D:EXHAUSTION_COST_PER_CRAFT_COMPLETE=0.0

        # How much exhaustion to apply per hit.
        # Default: 1
        # Min: 0.0
        # Max: 40.0
        D:EXHAUSTION_COST_PER_HIT=1.0

        # The maximum stack size for each slot in the crafting grid.
        # Default: 1
        # Min: 1
        # Max: 64
        I:GRID_MAX_STACK_SIZE=1

        # The number of hammer hits required to complete a craft.
        # Default: 4
        # Min: 1
        # Max: 2147483647
        I:HITS_PER_CRAFT=4

        # Minimum amount of hunger the player needs to use.
        # Default: 3
        # Min: 0
        # Max: 20
        I:MINIMUM_HUNGER_TO_USE=3

        # The maximum stack size for each slot in the shelf.
        # Default: 1
        # Min: 1
        # Max: 64
        I:SHELF_MAX_STACK_SIZE=1

        # The amount of damage applied to the tool per craft.
        # Default: 2
        # Min: 0
        # Max: 2147483647
        I:TOOL_DAMAGE_PER_CRAFT=2

        # If true, the worktable has durability and will break after the configured
        # number of crafts completed.
        # Default: true
        B:USES_DURABILITY=true
    }

    stone_worktable {
        # The number of crafts that the worktable can perform before it breaks.
        # This is only relevant if the `USES_DURABILITY` flag is true.
        # Default: 512
        # Min: 1
        # Max: 2147483647
        I:DURABILITY=512

        # How much exhaustion to apply per completed craft.
        # Default: 0
        # Min: 0.0
        # Max: 40.0
        D:EXHAUSTION_COST_PER_CRAFT_COMPLETE=0.0

        # How much exhaustion to apply per hit.
        # Default: 0.5
        # Min: 0.0
        # Max: 40.0
        D:EXHAUSTION_COST_PER_HIT=0.5

        # The maximum stack size for each slot in the crafting grid.
        # Default: 1
        # Min: 1
        # Max: 64
        I:GRID_MAX_STACK_SIZE=32

        # The number of hammer hits required to complete a craft.
        # Default: 2
        # Min: 1
        # Max: 2147483647
        I:HITS_PER_CRAFT=2

        # Minimum amount of hunger the player needs to use.
        # Default: 3
        # Min: 0
        # Max: 20
        I:MINIMUM_HUNGER_TO_USE=3

        # The maximum stack size for each slot in the shelf.
        # Default: 64
        # Min: 1
        # Max: 64
        I:SHELF_MAX_STACK_SIZE=64

        # The amount of damage applied to the tool per craft.
        # Default: 1
        # Min: 0
        # Max: 2147483647
        I:TOOL_DAMAGE_PER_CRAFT=1

        # If true, the worktable has durability and will break after the configured
        # number of crafts completed.
        # Default: false
        B:USES_DURABILITY=false
    }

    compacting_bin {
        # Set this to false to prevent piping contents in / out.
        # Default: true
        B:ALLOW_AUTOMATION=true

        # How much exhaustion to apply per completed craft.
        # Default: 0
        # Min: 0.0
        # Max: 40.0
        D:EXHAUSTION_COST_PER_CRAFT_COMPLETE=0.0

        # How much exhaustion to apply per hit.
        # Default: 1
        # Min: 0.0
        # Max: 40.0
        D:EXHAUSTION_COST_PER_HIT=1.0

        # The item displayed to represent each harvest level in JEI.
        # The index into the array is the harvest level, the value at that index
        # is the displayed item. The array can be expanded as needed.
        # If the harvest level of the tool used exceeds the array length, the
        # last element in the array is used.
        # 
        # String format is a resource location: (domain):(path)
        S:JEI_HARVEST_LEVEL_ITEM <
            pyrotech:crude_shovel
            minecraft:stone_shovel
            minecraft:iron_shovel
            minecraft:diamond_shovel
         >

        # The number of output blocks the compacting bin can hold.
        # Default: 4
        # Min: 1
        # Max: 2147483647
        I:MAX_CAPACITY=4

        # Minimum amount of hunger the player needs to use.
        # Default: 3
        # Min: 0
        # Max: 20
        I:MINIMUM_HUNGER_TO_USE=3

        # Any item with a tool class of shovel is automatically valid.
        # Use this to remove items that you don't want to be valid.
        # 
        # The whitelist takes priority over the blacklist.
        # 
        # String format is a resource location: (domain):(path)
        S:SHOVEL_BLACKLIST <
         >

        # Any item with a tool class of shovel is automatically valid.
        # Use this to add items that you want to be valid that don't have the
        # shovel tool class. Items you add are assumed to have durability.
        # 
        # The whitelist takes priority over the blacklist.
        # 
        # String format is a resource location: (domain):(path)
        S:SHOVEL_WHITELIST <
         >

        # The amount of damage applied to the tool when a craft completes.
        # Default: 1
        I:TOOL_DAMAGE_PER_CRAFT=1

        # The number of uses required per harvest level of the tool used.
        # The index into the array is the harvest level, the value at that index
        # is the required number of uses. The array can be expanded as needed.
        # If the harvest level of the tool used exceeds the array length, the
        # last element in the array is used.
        # 
        # ie. {wood, stone, iron, diamond}
        # Valid values are in the range: [1,+int]
        # Default: {4, 3, 2, 1}
        I:TOOL_USES_REQUIRED_PER_HARVEST_LEVEL <
            4
            3
            2
            1
         >
    }

    soaking_pot {
        # Set this to false to prevent piping contents in / out.
        # Default: true
        B:ALLOW_AUTOMATION=true

        # Multiplicative modifier applied to every recipe in this device.
        # recipeDurationTicks = recipeDurationTicks * BASE_RECIPE_DURATION_MODIFIER
        # Default: 1
        # Min: 0.0
        # Max: 1.7976931348623157E308
        D:BASE_RECIPE_DURATION_MODIFIER=1.0

        # If false, the container will break when a hot fluid is placed inside,
        # and the fluid will spawn in the world where the tank was.
        # Default: true
        B:HOLDS_HOT_FLUIDS=false

        # The temperature that the container considers hot.
        # The temperature of lava is 1300 and water is 300
        # Default: 450
        # Min: -2147483648
        # Max: 2147483647
        I:HOT_TEMPERATURE=450

        # The maximum fluid capacity in millibuckets.
        # Default: 4000
        # Min: 1
        # Max: 2147483647
        I:MAX_FLUID_CAPACITY=4000

        # The maximum stack size that can be placed in the pot.
        # Default: 8
        # Min: 1
        # Max: 64
        I:MAX_STACK_SIZE=8
    }

    anvil_common {
        # These values are used to reduce the number of hits required to complete
        # a recipe.
        # 
        # The index into the array is the harvest level, the value at that index
        # is the hit reduction. The array can be expanded as needed.
        # If the harvest level of the tool used exceeds the array length, the
        # last element in the array is used.
        # 
        # ie. {wood, stone, iron, diamond}
        # Default: {0, 1, 2, 3}
        I:HIT_REDUCTION_PER_HAMMER_HARVEST_LEVEL <
            0
            1
            2
            3
         >

        # The pickaxe displayed to represent each harvest level in JEI.
        # The index into the array is the harvest level, the value at that index
        # is the displayed item. The array can be expanded as needed.
        # If the harvest level of the tool used exceeds the array length, the
        # last element in the array is used.
        # 
        # String format is a resource location: (domain):(path)
        S:JEI_HARVEST_LEVEL_PICKAXE <
            pyrotech:crude_pickaxe
            minecraft:stone_pickaxe
            minecraft:iron_pickaxe
            minecraft:diamond_pickaxe
         >

        # Use this to add items that you want to be invalid for pickaxe recipes.
        # Items you add are assumed to have durability.
        # 
        # String format is a resource location: (domain):(path)
        S:PICKAXE_BLACKLIST <
         >

        # Use this to add items that you want to be valid for pickaxe recipes.
        # Items you add are assumed to have durability.
        # 
        # String format is a resource location: (domain):(path)
        S:PICKAXE_WHITELIST <
         >
    }

    granite_anvil {
        # Set this to false to prevent piping contents in / out.
        # Default: true
        B:ALLOW_AUTOMATION=true

        # The chance that extra damage will be applied when hitting a bloom.
        # Default: 0.5
        # Min: 0.0
        # Max: 1.0
        D:BLOOM_EXTRA_DAMAGE_CHANCE=0.5

        # The amount of extra damage to apply to the anvil damage when hitting a bloom.
        # Default: 1
        # Min: 0
        # Max: 2147483647
        I:BLOOM_EXTRA_DAMAGE_PER_HIT=1

        # How much exhaustion to apply per completed craft.
        # Default: 0
        # Min: 0.0
        # Max: 40.0
        D:EXHAUSTION_COST_PER_CRAFT_COMPLETE=0.0

        # How much exhaustion to apply per hit.
        # Default: 0.5
        # Min: 0.0
        # Max: 40.0
        D:EXHAUSTION_COST_PER_HIT=0.5

        # The number of times the block can be hit before applying damage
        # to the block. The block has a total of four damage stages. This number
        # represents the number of hits for just one damage stage.
        # Default: 64
        # Min: 1
        # Max: 2147483647
        I:HITS_PER_DAMAGE=64

        # Minimum amount of hunger the player needs to use.
        # Default: 3
        # Min: 0
        # Max: 20
        I:MINIMUM_HUNGER_TO_USE=3

        # Set to false to prevent the device from wearing out.
        # Default: true
        B:USE_DURABILITY=true
    }

    ironclad_anvil {
        # Set this to false to prevent piping contents in / out.
        # Default: true
        B:ALLOW_AUTOMATION=true

        # The chance that extra damage will be applied when hitting a bloom.
        # Default: 0.05
        # Min: 0.0
        # Max: 1.0
        D:BLOOM_EXTRA_DAMAGE_CHANCE=0.05

        # The amount of extra damage to apply to the anvil damage when hitting a bloom.
        # Default: 1
        # Min: 0
        # Max: 2147483647
        I:BLOOM_EXTRA_DAMAGE_PER_HIT=1

        # How much exhaustion to apply per completed craft.
        # Default: 0
        # Min: 0.0
        # Max: 40.0
        D:EXHAUSTION_COST_PER_CRAFT_COMPLETE=0.0

        # How much exhaustion to apply per hit.
        # Default: 0.5
        # Min: 0.0
        # Max: 40.0
        D:EXHAUSTION_COST_PER_HIT=0.5

        # The number of times the block can be hit before applying damage
        # to the block. The block has a total of four damage stages. This number
        # represents the number of hits for just one damage stage.
        # Default: 256
        # Min: 1
        # Max: 2147483647
        I:HITS_PER_DAMAGE=256

        # Multiplicative modifier applied to the required hits for all inherited recipes.
        # Default: 1.0
        # Min: 0.0
        # Max: 1.7976931348623157E308
        D:INHERITED_GRANITE_ANVIL_RECIPE_HIT_MODIFIER=1.0

        # If true, all the granite anvil recipes will also be available in this device.
        # Default: true
        B:INHERIT_GRANITE_ANVIL_RECIPES=true

        # Minimum amount of hunger the player needs to use.
        # Default: 3
        # Min: 0
        # Max: 20
        I:MINIMUM_HUNGER_TO_USE=3

        # Set to false to prevent the device from wearing out.
        # Default: true
        B:USE_DURABILITY=true
    }

    chopping_block {
        # Set this to false to prevent piping contents in / out.
        # Default: true
        B:ALLOW_AUTOMATION=true

        # Any item with a tool class of axe is automatically valid.
        # Use this to remove items that you don't want to be valid.
        # 
        # The whitelist takes priority over the blacklist.
        # 
        # String format is a resource location: (domain):(path)
        S:AXE_BLACKLIST <
         >

        # Any item with a tool class of axe is automatically valid.
        # Use this to add items that you want to be valid that don't have the
        # axe tool class. Items you add are assumed to have durability.
        # 
        # The whitelist takes priority over the blacklist.
        # 
        # String format is a resource location: (domain):(path)
        S:AXE_WHITELIST <
         >

        # The number of times the block can be chopped on before applying damage
        # to the block. The block has a total of six damage stages. This number
        # represents the number of chops for just one damage stage.
        # Default: 16
        # Min: 1
        # Max: 2147483647
        I:CHOPS_PER_DAMAGE=16

        # The number of chops required per harvest level of the axe used.
        # The index into the array is the harvest level, the value at that index
        # is the required number of chops. The array can be expanded as needed.
        # If the harvest level of the tool used exceeds the array length, the
        # last element in the array is used.
        # 
        # ie. {wood, stone, iron, diamond}
        # Valid values are in the range: [1,+int]
        # Default: {6, 4, 2, 2}
        I:CHOPS_REQUIRED_PER_HARVEST_LEVEL <
            6
            4
            2
            2
         >

        # How much exhaustion to apply per axe chop.
        # Default: 1.5
        # Min: 0.0
        # Max: 40.0
        D:EXHAUSTION_COST_PER_AXE_CHOP=1.5

        # How much exhaustion to apply per completed craft.
        # Default: 0
        # Min: 0.0
        # Max: 40.0
        D:EXHAUSTION_COST_PER_CRAFT_COMPLETE=0.0

        # How much exhaustion to apply per shovel scoop.
        # Default: 0.5
        # Min: 0.0
        # Max: 40.0
        D:EXHAUSTION_COST_PER_SHOVEL_SCOOP=0.5

        # The item displayed to represent each harvest level in JEI.
        # The index into the array is the harvest level, the value at that index
        # is the displayed item. The array can be expanded as needed.
        # If the harvest level of the tool used exceeds the array length, the
        # last element in the array is used.
        # 
        # String format is a resource location: (domain):(path)
        S:JEI_HARVEST_LEVEL_ITEM <
            pyrotech:crude_axe
            minecraft:stone_axe
            minecraft:iron_axe
            minecraft:diamond_axe
         >

        # Minimum amount of hunger the player needs to use.
        # Default: 3
        # Min: 0
        # Max: 20
        I:MINIMUM_HUNGER_TO_USE=3

        # The recipe result quantity given per harvest level of the axe used.
        # The index into the array is the harvest level, the value at that index
        # is the recipe result quantity. The array can be expanded as needed.
        # If the harvest level of the tool used exceeds the array length, the
        # last element in the array is used.
        # 
        # ie. {wood, stone, iron, diamond}
        # Valid values are in the range: [0,+int]
        # Default: {1, 2, 3, 4}
        I:RECIPE_RESULT_QUANTITY_PER_HARVEST_LEVEL <
            1
            2
            3
            4
         >

        # Set to false to prevent the device from wearing out.
        # Default: true
        B:USES_DURABILITY=true

        # The chance that a chop will spawn wood chips nearby.
        # Default: 0.05
        # Min: 0.0
        # Max: 1.0
        D:WOOD_CHIPS_CHANCE=0.05
    }

    crude_drying_rack {
        # Multiplicative modifier applied to every recipe in this device.
        # recipeDurationTicks = recipeDurationTicks * BASE_RECIPE_DURATION_MODIFIER
        # Default: 1
        # Min: 0.0
        # Max: 1.7976931348623157E308
        D:BASE_RECIPE_DURATION_MODIFIER=1.0

        # speed = speed * SPEED_MODIFIER
        # Default: 1.0
        # Min: 4.9E-324
        # Max: 1.7976931348623157E308
        D:SPEED_MODIFIER=1.0

        conditional_modifiers {
            # The base derived speed.
            # Default: 1
            D:BASE_DERIVED=1.0

            # Added to the base derived speed if it isn't raining, the device has a
            # direct line of sight to the sky, and it's daytime.
            # Default: 0.2
            D:DAYTIME=0.20000000298023224

            # Added to the base derived speed if the biome is cold.
            # Default: -0.2
            D:DERIVED_COLD=-0.20000000298023224

            # Added to the base derived speed if the biome is dry.
            # Default: 0.2
            D:DERIVED_DRY=0.20000000298023224

            # Added to the base derived speed if the biome is hot.
            # Default: 0.2
            D:DERIVED_HOT=0.20000000298023224

            # Added to the base derived speed if the biome is wet.
            # Default: -0.2
            D:DERIVED_WET=-0.20000000298023224

            # The base speed if the device is being directly rained on.
            # Default: -1
            D:DIRECT_RAIN=-1.0

            # Added to the base derived speed for each fire source block in range.
            # Default: 0.2
            D:FIRE_SOURCE_BONUS=0.20000000298023224

            # The device will gain a bonus for each fire source within this range.
            # Default: 2
            I:FIRE_SOURCE_BONUS_RANGE=2

            # The base speed if the it is raining, but not directly on the device, or
            # the biome has high humidity.
            # Default: 0.25
            D:INDIRECT_RAIN=0.25

            # The base speed if the device is in the Nether.
            # Default: 2
            D:NETHER=2.0
        }

    }

    drying_rack {
        # Multiplicative modifier applied to every recipe in this device.
        # recipeDurationTicks = recipeDurationTicks * BASE_RECIPE_DURATION_MODIFIER
        # Default: 1
        # Min: 0.0
        # Max: 1.7976931348623157E308
        D:BASE_RECIPE_DURATION_MODIFIER=1.0

        # Set the up / down movement speed for climbing.
        # Default: 0.1
        D:CLIMB_SPEED=0.1

        # Multiplicative modifier applied to the duration of all inherited recipes.
        # Default: 1.0
        # Min: 0.0
        # Max: 1.7976931348623157E308
        D:INHERITED_CRUDE_DRYING_RACK_RECIPE_DURATION_MODIFIER=1.0

        # If true, all the crude drying rack recipes will also be available in this device.
        # Default: true
        B:INHERIT_CRUDE_DRYING_RACK_RECIPES=true

        # speed = speed * SPEED_MODIFIER
        # Default: 1.35
        # Min: 4.9E-324
        # Max: 1.7976931348623157E308
        D:SPEED_MODIFIER=1.35

        # Set to true to allow the player to climb the sides of drying racks.
        # Default: true
        B:USE_AS_LADDER=true

        conditional_modifiers {
            # The base derived speed.
            # Default: 1
            D:BASE_DERIVED=1.0

            # Added to the base derived speed if it isn't raining, the device has a
            # direct line of sight to the sky, and it's daytime.
            # Default: 0.2
            D:DAYTIME=0.20000000298023224

            # Added to the base derived speed if the biome is cold.
            # Default: -0.2
            D:DERIVED_COLD=-0.20000000298023224

            # Added to the base derived speed if the biome is dry.
            # Default: 0.2
            D:DERIVED_DRY=0.20000000298023224

            # Added to the base derived speed if the biome is hot.
            # Default: 0.2
            D:DERIVED_HOT=0.20000000298023224

            # Added to the base derived speed if the biome is wet.
            # Default: -0.2
            D:DERIVED_WET=-0.20000000298023224

            # The base speed if the device is being directly rained on.
            # Default: -1
            D:DIRECT_RAIN=-1.0

            # Added to the base derived speed for each fire source block in range.
            # Default: 0.2
            D:FIRE_SOURCE_BONUS=0.20000000298023224

            # The device will gain a bonus for each fire source within this range.
            # Default: 2
            I:FIRE_SOURCE_BONUS_RANGE=2

            # The base speed if the it is raining, but not directly on the device, or
            # the biome has high humidity.
            # Default: 0.25
            D:INDIRECT_RAIN=0.25

            # The base speed if the device is in the Nether.
            # Default: 2
            D:NETHER=2.0
        }

    }

    pit_kiln {
        # Multiplicative modifier applied to every recipe in this device.
        # recipeDurationTicks = recipeDurationTicks * BASE_RECIPE_DURATION_MODIFIER
        # Default: 1
        # Min: 0.0
        # Max: 1.7976931348623157E308
        D:BASE_RECIPE_DURATION_MODIFIER=1.0

        # The maximum stack size that can be placed in the pit kiln.
        # Default: 8
        # Min: 1
        # Max: 64
        I:MAX_STACK_SIZE=8

        # SPEED_SCALAR=(1-VARIABLE_SPEED_MODIFIER)PERCENTAGE_FULL+VARIABLE_SPEED_MODIFIER
        # 
        # If set to 0.5, the Pit Kiln will complete 1 item in 50% of the time.
        # For each item added after the first, the duration increases linearly
        # until it is 100% when full.
        # Setting the value to 0 is not recommended as it will cause one
        # item to complete instantly.
        # Default: 0.5
        # Min: 0.0
        # Max: 1.0
        D:VARIABLE_SPEED_MODIFIER=0.5
    }

    campfire {
        # Set this to false to prevent piping contents in / out.
        # Default: true
        B:ALLOW_AUTOMATION=true

        # The chance that the campfire will produce ash when a fuel is consumed.
        # Default: 0.25
        # Min: 0.0
        # Max: 1.0
        D:ASH_CHANCE=0.25

        # How many ticks does it take before the output food becomes burned food.
        # Default: 600
        # Min: 1
        # Max: 2147483647
        I:BURNED_FOOD_TICKS=600

        # The amount of ticks of burn time added to the campfire
        # for each log consumed.
        # Default: 2400
        # Min: 1
        # Max: 2147483647
        I:BURN_TIME_TICKS_PER_LOG=2400

        # How many ticks to cook food on the campfire.
        # Default: 1800
        # Min: 1
        # Max: 2147483647
        I:COOK_TIME_TICKS=1800

        # The amount of damage done to an entity when walking on top of a lit campfire.
        # Set to zero to disable.
        # Default: 1.0
        # Min: 0.0
        # Max: 1.7976931348623157E308
        D:ENTITY_WALK_BURN_DAMAGE=1.0

        # Set to true if the campfire should be extinguished by rain.
        # Default: true
        B:EXTINGUISHED_BY_RAIN=true

        # The light level of the campfire when lit.
        # Default: 11
        # Min: 0
        # Max: 15
        I:LIGHT_LEVEL=11

        # The chance that the player will be damaged with fire when picking
        # up a log while the campfire is lit.
        # Default: 0.5
        # Min: 0.0
        # Max: 1.0
        D:PLAYER_BURN_CHANCE=0.5

        # The amount of damage done to a player when picking up a log while the
        # campfire is lit.
        # Default: 1.0
        # Min: 0.0
        # Max: 1.7976931348623157E308
        D:PLAYER_LOG_BURN_DAMAGE=1.0

        # The number of ticks that the campfire can be exposed to rain before
        # it is extinguished.
        # Default: 200
        # Min: 1
        # Max: 2147483647
        I:TICKS_BEFORE_EXTINGUISHED=200

        # If true, all 'logWood' items will be valid fuel for the campfire.
        # Default: true
        B:USE_LOG_WOOD_OREDICT=true
    }

}


