name: ChestCleaner
version: "2.4.4"
author: Tom2208, leanNiki
api-version: "1.13" # we need this otherwise new blocks e.g. mossy cobble slabs get deleted

main: chestcleaner.main.ChestCleaner

commands:
  cleaninventory:
    description: Cleans an inventory of a block.
    usage: /<command> <<playername> / own / <x> <y> <z>> [<world>]
    aliases: [cleaninv, cinv]
  cleaningitem:
    description: Configuration of the cleaningitem.
    usage: /<command> <get/set/give/name/lore/active/durabilityLoss/openEvent> [<true/false> | <name/lore> | <player/@a>]
    aliases: ci
  blacklist:
    description: Avoiding items to get stacked while sorting.
    usage: /<command> <list> [list|clear|add|remove]
    aliases: bl
    permission: chestcleaner.cmd.admin.blacklist
  sortingconfig:
    description: Configuration of the sorting algorithm for players.
    usage: /<command> <autosort/categories/chatNotification/pattern/refill/reset/sortingSound> [<true/false> | list | <true/false> | set <category,category,..> | <pattern> | <true/false/blocks/consumables/breakables>]
    aliases: [sconfig, sc]
  sortingadmin:
    description: Configuration for admins
    usage: /<command> <autosort/categories/cooldown/pattern/chatNotification/sortingSound/refill> [<true/false> | addFromBook | getAsBook <category> | set <category,category,..> | active <true/false> | set <number> | <pattern> | <blocks/consumables/breakables> | remove]
    aliases: [sadmin, sa]
    permission: chestcleaner.cmd.admin.config

permissions:
  chestcleaner.autorefill.*:
    description: allow all autorefills
    children:
      chestcleaner.autorefill.blocks: true
      chestcleaner.autorefill.consumables: true
      chestcleaner.autorefill.brokenitems: true
  chestcleaner.autorefill.blocks:
    description: allows the player to automatically get blocks refilled in the hotbar
    default: true
  chestcleaner.autorefill.consumables:
    description: allows the player to automatically get consumables refilled in the hotbar
    default: true
  chestcleaner.cleaningitem.use:
    description: allows the player to sort inventories of blocks
    default: true
  chestcleaner.autorefill.brokenitems:
    description: allows the player to automatically get breakables refilled in the hotbar
    default: true
  chestcleaner.cleaningitem.use.owninventory:
    description: allows the player to sort their own inventory
    default: true
  chestcleaner.cooldown.immune:
    description: whether the player is unaffected by the cooldown
  chestcleaner.update:
    description: whether the player gets a notification when a ChestCleaner update is available
  chestcleaner.cmd.sortingconfig.*:
    description: parent permission for sortingconfig
    children:
      chestcleaner.cmd.sortingconfig.categories: true
      chestcleaner.cmd.sortingconfig.pattern: true
      chestcleaner.cmd.sortingconfig.setautosort: true
      chestcleaner.cmd.sortingconfig.setchatnotification: true
      chestcleaner.cmd.sortingconfig.setsortingsound: true
      chestcleaner.cmd.sortingconfig.reset: true
      chestcleaner.cmd.sortingconfig.refill.*: true
  chestcleaner.cmd.sortingconfig.categories:
    description: allow a player to override the category order for themself using the /sortingconfig categories command
  chestcleaner.cmd.sortingconfig.pattern:
    description: allow a player to override the sorting pattern for themself using the /sortingconfig pattern command
  chestcleaner.cmd.sortingconfig.setautosort:
    description: allow a player to override the autosort toggle for themself using the /sortingconfig autosort command
  chestcleaner.cmd.sortingconfig.setchatnotification:
    description: allow a player to toggle the chat sorting notification.
  chestcleaner.cmd.sortingconfig.setsortingsound:
    description: allow a player to toggle the sorting sound.
  chestcleaner.cmd.sortingconfig.reset:
    description: allow a  player to reset her/his configuration.
  chestcleaner.cmd.sortingconfig.refill.blocks:
    description: allow a player to configure the autorefill of blocks.
  chestcleaner.cmd.sortingconfig.refill.breakables:
    description: allow a player to configure the autorefill of breakbales.
  chestcleaner.cmd.sortingconfig.refill.consumables:
    description: allow a player to configure the autorefill of consumables.
  chestcleaner.cmd.sortingconfig.refill.*:
    description: allow a player to configure all autorefills.
    children:
      chestcleaner.cmd.sortingconfig.refill.consumables: true
      chestcleaner.cmd.sortingconfig.refill.breakables: true
      chestcleaner.cmd.sortingconfig.refill.blocks: true
  chestcleaner.cmd.cleaningitem.get:
    description: allow player to get a cleaningitem using the /cleaningitem get command
  chestcleaner.cmd.cleaningitem.give:
    description: allow player to give a player/all players a cleaningitem using the /cleaningitem give command
  chestcleaner.cmd.cleaninventory.sort:
    description: allow player to use the /cleaninventory command
  chestcleaner.cmd.cleaninventory.own:
    description: allow player to use the /cleaninventory own command
  chestcleaner.cmd.cleaninventory.others:
    description: allow player to use the /cleaninventory <player> command
  chestcleaner.cmd.cleaningitem.*:
    description: allow all (subcommands) uses of the /cleaninventory command
    children:
      chestcleaner.cmd.cleaninventory.sort: true
      chestcleaner.cmd.cleaninventory.own: true
      chestcleaner.cmd.cleaninventory.others: true  
  chestcleaner.cmd.admin.*:
    description: allow all changes to the defaults
    children:
      chestcleaner.cmd.cleaningitem.get: true
      chestcleaner.cmd.cleaningitem.give: true
      chestcleaner.cmd.cleaninventory: true
      chestcleaner.cmd.admin.config: true
      chestcleaner.cmd.admin.cooldown: true
      chestcleaner.cmd.admin.blacklist: true
      chestcleaner.cmd.admin.cleaningitem.*: true
  chestcleaner.cmd.admin.config:
    description: whether the player can use the /sortingadmin command
  chestcleaner.cmd.admin.cooldown:
    description: whether the player can use the /sortingadmin cooldown command
  chestcleaner.cmd.admin.blacklist:
    description: whether the player can use the /blacklist command
  chestcleaner.cmd.admin.cleaningitem.*:
    description: allow all changes to the default cleaningitem and get & give commands
    children:
      chestcleaner.cmd.admin.cleaningitem.rename: true
      chestcleaner.cmd.admin.cleaningitem.setactive: true
      chestcleaner.cmd.admin.cleaningitem.setdurabilityloss: true
      chestcleaner.cmd.admin.cleaningitem.setopenevent: true
      chestcleaner.cmd.admin.cleaningitem.setitem: true
      chestcleaner.cmd.admin.cleaningitem.setlore: true
  chestcleaner.cmd.admin.cleaningitem.rename:
    description: whether the player can use the /cleaningitem rename command
  chestcleaner.cmd.admin.cleaningitem.setactive:
    description: whether the player can use the /cleaningitem active command
  chestcleaner.cmd.admin.cleaningitem.setdurabilityloss:
    description: whether the player can use the /cleaningitem durabilityLoss command
  chestcleaner.cmd.admin.cleaningitem.setopenevent:
    description: whether the player can use the /cleaningitem openEvent command
  chestcleaner.cmd.admin.cleaningitem.setitem:
    description: whether the player can use the /cleaningitem set command
  chestcleaner.cmd.admin.cleaningitem.setlore:
    description: whether the player can use the /cleaningitem lore command

