# Blacksmith Configuration

# The language used for messages. Only "en" is supported
language: en

# Settings for the blacksmith trait
blacksmith:
  # The settings which apply to all Blacksmith NPCs. These can also be changed using the /blacksmithconfig command
  global:
    # The minimum price of each cost
    basePrice:
      # You can add, for example "diamond-sword: 15.3" to change the base cost for a specific item
      default: 10.0
    
    # The additional cost for each durability point missing (natural cost) or present (not natural cost)
    pricePerDurabilityPoint:
      # You can add, for example "diamond-sword: 0.09" to change the base cost for a specific item
      default: 0.005
    
    # The additional cost for each enchantment level present on an item
    enchantmentCost:
      # You can add, for example "arrow-infinite: 0.09" to change the enchantment cost for a specific enchantment
      default: 5
    
    # Natural cost makes re-forging more expensive the more damaged the item is. Disabling this will enable the legacy 
    #  blacksmith behavior instead
    useNaturalCost: true
    
    # Exact time displays the exact number of seconds and minutes remaining as part of the reforging cool-down and
    #  reforging delay messages, instead of just vaguely hinting at the remaining time.
    showExactTime: false
    
    # The cost of fully repairing a chipped anvil
    chippedAnvilReforgingCost: 10.0
    
    # The cost of fully repairing a damaged anvil
    damagedAnvilReforgingCost: 20.0

  # The settings which are set to any new NPC. To change any of these settings for an existing NPC, you must change the 
  #  Citizens NPC file, or use the /blacksmith command
  defaults:
    # Whether the item will drop a reforged item on the ground, instead of putting it into the user's inventory
    dropItem: true
    
    # The items a blacksmith is able to reforge. Setting this only allows NPCs to repair the listed items. This should be
    # set for each individual NPC, and should not be set here, unless you want to restrict NPCs which have not been set
    # up yet.
    reforgeAbleItems: [ ]
    
    # The enchantments a blacksmith is denied from applying to an item. Disable anything you find too op or annoying.
    enchantmentBlockList: [ "binding_curse", "mending", "vanishing_curse" ]
    
    # The chance to fail reforging an item, which only repairs the item a tiny bit or not at all (0-100)
    failReforgeChance: 10 # Default = 10%
    
    # Whether failed reforging should remove or downgrade the item's enchantments
    failReforgeRemovesEnchantments: false # Default = false
    
    # The chance that an enchantment will be added to the reforged item (0-100)
    extraEnchantmentChance: 5 # Default = 5%
    
    # The maximum number of enchantments the blacksmith will try to add
    maxEnchantments: 3
    
    # Whether the blacksmith will reforge anvils as a special case
    reforgeAnvils: false
    
    # The minimum time for a reforging to finish
    minReforgeWaitTimeSeconds: 5
    
    # The maximum time for a reforging to finish
    maxReforgeWaitTimeSeconds: 30
    
    # The cool-down period between each reforge
    reforgeCoolDownSeconds: 60
    
    # The title describing the blacksmith's usage/speciality (e.x: armor-smith, tool-smith, weapon-smith)
    blacksmithTitle: "blacksmith"
    
    # All messages used by the NPC
    messages:
      # The message to display when another player is using the blacksmith
      busyPlayerMessage: "&cI'm busy at the moment. Come back later!"
      
      # The message to display when the blacksmith is working on the reforging
      busyReforgeMessage: "&cI'm working on it. Be patient! I'll finish {time}!"
      
      # The message to display when the blacksmith is still on a cool-down from the previous re-forging
      coolDownUnexpiredMessage: "&cYou've already had your chance! Give me a break! I'll be ready {time}!"
      
      # The message to display when informing a player about the reforging cost
      costMessage: "&eIt will cost &a{cost}&e to reforge that &a{item}&e! Click again to reforge!"
      
      # The message to display when the blacksmith fails to reforge an item
      failReforgeMessage: "&cWhoops! Didn't mean to do that! Maybe next time?"
      
      # The message to display when a player cannot pay for the reforging
      insufficientFundsMessage: "&cYou don't have enough money to reforge that item!"
      
      # The message to display when holding an item the blacksmith is unable to reforge
      invalidItemMessage: "&cI'm sorry, but I'm a/an {title}, I don't know how to reforge that!"
      
      # The message to display when presenting a different item than the one just evaluated
      itemChangedMessage: "&cThat's not the item you wanted to reforge before!"
      
      # The message to display once the blacksmith starts re-forging
      startReforgeMessage: "&eOk, let's see what I can do..."
      
      # The message to display once the reforging has successfully finished
      successMessage: "There you go! All better!"
      
      # The message to display if a player is trying to reforge an item with full durability
      notDamagedMessage: "&cThat item is not in need of repair"

# Settings for the scrapper trait
scrapper:
  # The settings which apply to all Scrapper NPCs. These can also be changed using the /scrapperConfig command
  global:
    # Exact time displays the exact number of seconds and minutes remaining as part of the scrapping cool-down and
    #  scrapping delay messages, instead of just vaguely hinting at the remaining time.
    showExactTime: false
    
    # Whether enchanted salvaged items should return some amount of exp upon salvage
    giveExperience: true
    
    # Items ignored during salvage calculation. This follows the format: 
    # "MATERIAL[;MATERIAL2][;MATERIAL3]:IGNORED_MATERIAL[;IGNORED_MATERIAL2]",
    # so the material or materials listed will ignore the material specified after the ":" when calculating salvage 
    # (* matches any character). This causes the player to lose some items during salvaging, but can prevent cases 
    # where a diamond pickaxe is salvaged and only sticks are returned.
    ignoredSalvage:
      - "*_SHOVEL;*_PICKAXE;*_AXE;*_HOE;*_SWORD:STICK"
    
    # The cost of using the scrapper
    basePrice: 0
  
  # The settings which are set to any new scrapper NPC. To change any of these settings for an existing NPC, you must 
  # change the Citizens NPC file, or use the /scrapper command
  defaults:
    
    # Whether the item will drop materials resulting from scrapping on the ground, instead of putting them into the user's inventory
    dropItem: true
    
    # The chance to fail a salvage, thus destroying the item (0-100)
    failSalvageChance: 0
    
    # The items a blacksmith is able to salvage. Setting this only allows NPCs to repair the listed items. This should be
    # set for each individual NPC, and should not be set here, unless you want to restrict NPCs which have not been set
    # up yet.
    salvageAbleItems: [ ]
    
    # The minimum time for a salvaging to finish
    minSalvageWaitTimeSeconds: 5
    
    # The maximum time for a salvaging to finish
    maxSalvageWaitTimeSeconds: 30
    
    # The cool-down period between each salvage
    salvageCoolDownSeconds: 60
    
    # The title describing the scrapper's usage/speciality (e.x armor-scrapper, tool-scrapper, weapon-scrapper)
    scrapperTitle: "scrapper"
    
    # Whether to enable salvaging of non-repairable items, such as planks
    extendedSalvageEnabled: false
    
    # Default values for messages used by NPCs
    messages:
      # The message to display when another player is using the scrapper
      busyPlayerMessage: "&cI'm busy at the moment. Come back later!"
      
      # The message to display when the blacksmith is working on the salvaging
      busySalvageMessage: "&cI'm working on it. Be patient! I'll finish {time}!"
      
      # The message to display when the scrapper is still on a cool-down from the previous salvaging
      coolDownUnexpiredMessage: "&cYou've already had your chance! Give me a break! I'll be ready {time}!"
      
      # The message to display when holding an item the blacksmith is unable to reforge
      invalidItemMessage: "&cI'm sorry, but I'm a/an {title}, I don't know how to salvage that!"
      
      # The message to display if salvaging the player's item would result in no salvage
      tooDamagedForSalvageMessage: "&cThat item is too damaged to be salvaged into anything useful"
      
      # The message to display when an item is successfully salvaged
      successSalvagedMessage: "&cThere you go!"
      
      # The message to display when the scrapper fails to salvage an item
      failSalvageMessage: "&cWhoops! The item broke! Maybe next time?"
      
      # The message to display when presenting a different item than the one just evaluated
      itemChangedMessage: "&cThat's not the item you wanted to salvage before!"
      
      # The message to display once the scrapper starts salvaging
      startSalvageMessage: "&eOk, let's see what I can do..."
      
      # The message to display if the player is unable to pay the scrapper's fee
      insufficientFundsMessage: "&cYou don't have enough money to salvage an item!"
      
      # The message to display when explaining the shown item's salvage cost
      costMessage: "&eIt will cost &a{cost}&e to salvage that item! Click again to salvage!"