{
  "configuration": {
    "vanish_players": {
      "comment": "Список игроков, чье имя не будет писать при входе или выходе в чат",
      "type": "Set<String>",
      "default": [
        "daniorio"
      ],
      "value": [
        "daniorio"
      ]
    },
    "skin_url": {
      "comment": "Ссылка на получение головы игрока",
      "type": "String",
      "default": "http://localhost/%s.png",
      "value": "https://alamine.day/onedarev/skins/view.php?show=head&file_name=%s"
    },
    "channel_id": {
      "comment": "ID канала сервера для отправки сообщений",
      "type": "String",
      "default": "5345345435334534",
      "value": "1370868206801129572"
    },
    "log_levels": {
      "comment": "Список уровней логгирования для вывода в консоль дискорд",
      "type": "Set<String>",
      "default": [
        "ERROR",
        "INFO",
        "FATAL",
        "WARN"
      ],
      "value": [
        "ERROR",
        "INFO",
        "FATAL",
        "WARN"
      ]
    },
    "to_minecraft_name_replace": {
      "comment": "Ник отправителя сообщения на сервер, если он не прошел проверку по шаблону и проверку на пустоту или если ник пользователя не найден",
      "type": "String",
      "default": "Unknown",
      "value": "Unknown"
    },
    "chat_exclusions_blacklist": {
      "comment": "Если true - chat_exclusions будут работать как черный список, иначе как белый список",
      "type": "boolean",
      "default": true,
      "value": true
    },
    "simple_to_discord_msg": {
      "comment": "Использовать простой формат сообщений из игры в дискорд, где ник и ава вебхука меняться не будет. Дискорд не позволяет часто менять эти параметры, поэтому при большом онлайне отправка сообщений замирает. Рекомендуется включить опцию при большом онлайне.",
      "type": "boolean",
      "default": false,
      "value": false
    },
    "enable_join_quit_messages": {
      "comment": "Включить сообщения о входе и выходе игрока",
      "type": "boolean",
      "default": true,
      "value": true
    },
    "console_pattern": {
      "comment": "Шаблон сообщения для консоли дискорда",
      "type": "String",
      "default": "[%date%] [%thread%] [%level%] %line%",
      "value": "[%date%] [%thread%] [%level%] %line%"
    },
    "remove_g_suffix": {
      "comment": "Удаление окончаний сообщений на [g] при пересылке Minecraft->Discord. Их дописывают некоторые кастом чаты",
      "type": "boolean",
      "default": false,
      "value": false
    },
    "console_commands_exclusions_blacklist": {
      "comment": "Если true - console_commands_exclusions будут работать как черный список, иначе как белый список",
      "type": "boolean",
      "default": true,
      "value": true
    },
    "broadcast_cmd": {
      "comment": "Команда отправки сообщения всем пользователям сервера",
      "type": "String",
      "default": "broadcast",
      "value": "broadcast"
    },
    "to_minecraft_name_not_empty": {
      "comment": "Проверять имя отправителя сообщения на сервер на пустую строку",
      "type": "boolean",
      "default": true,
      "value": true
    },
    "console_sleep_time": {
      "comment": "Время ожидания между отправкой сообщения в консоль в миллисекундах. Дискорд позволяет отправить около 15 сообщений в секунду.",
      "range": "От 1 до 2147483647",
      "type": "int",
      "default": 100,
      "value": 100
    },
    "console_exclusions": {
      "comment": "Список частей строк или полных строк, которые не будут выводится в консоль дискорд",
      "type": "Set<String>",
      "default": [],
      "value": []
    },
    "ava_default": {
      "comment": "Ссылка на аватар по умолчанию",
      "type": "String",
      "default": "http://localhost/ava_default.png",
      "value": "http://localhost:8082/onedarev/skins/view.php?show=head"
    },
    "console_id": {
      "comment": "ID канала для отправки консольных сообщений",
      "type": "String",
      "default": "5345345435334534",
      "value": "1370868304427876503"
    },
    "enable_force_stop_cmd": {
      "comment": "Включить обработку команды '/stop force' - позволяет аварийно завершить работу сервера, даже если он завис",
      "type": "boolean",
      "default": false,
      "value": false
    },
    "skipStartingInfoLogs": {
      "comment": "Не выводить [INFO] логи в дискорд консоль до ServerStartedEvent",
      "type": "boolean",
      "default": true,
      "value": true
    },
    "console_users": {
      "comment": "Список id пользователей, которые могут выполнять команды в консоле",
      "type": "Set<String>",
      "default": [
        "414439683703963648",
        "488341739392729088"
      ],
      "value": [
        "414439683703963648",
        "488341739392729088"
      ]
    },
    "to_discord_prefix": {
      "comment": "Префикс начала сообщения из чата. Если сообщение начинается с него, то оно пойдет в дискорд, иначе нет. * - проверка отключена.",
      "type": "String",
      "default": "*",
      "value": "*"
    },
    "chat_exclusions": {
      "comment": "Список частей строк или полных строк, которые не будут отправляться из дискорда в майнкрафт",
      "type": "Set<String>",
      "default": [],
      "value": []
    },
    "console_commands_exclusions": {
      "comment": "Список команд, которые запрещено выполнять через консоль дискорда",
      "type": "Set<String>",
      "default": [],
      "value": []
    },
    "console_exclusions_blacklist": {
      "comment": "Если true - console_exclusions будут работать как черный список, иначе как белый список",
      "type": "boolean",
      "default": true,
      "value": true
    },
    "status_loading": {
      "comment": "Статус бота во время старта сервера",
      "type": "String",
      "default": "Loading server...",
      "value": "Loading server..."
    },
    "webhook_url": {
      "comment": "URL вебхука, который будет выступать отправлять сообщения от имени игрока",
      "type": "String",
      "default": "https://discord.com/api/webhooks/12121212112212/token",
      "value": "https://discord.com/api/webhooks/12121212112212/token"
    },
    "status": {
      "comment": "Статус бота",
      "type": "String",
      "default": "Server (%s/%s)",
      "value": "Server (%s/%s)"
    },
    "console_limit_symbols": {
      "comment": "Лимит символов на 1 сообщение в консоли",
      "range": "От 1 до 2147483647",
      "type": "int",
      "default": 2000,
      "value": 2000
    },
    "enable_terminal_cmds": {
      "comment": "Включить исполнение команд терминала. Команды должны начинаться с префикса $, например $ls ./",
      "type": "boolean",
      "default": false,
      "value": false
    },
    "discord_http_proxy": {
      "comment": "HTTP прокси в формате ip:port для работы с DiscordAPI. Оставьте пустым, если не требуется",
      "type": "String",
      "default": "",
      "value": ""
    },
    "token": {
      "comment": "Токен бота дискорд",
      "type": "String",
      "default": "token",
      "value": "MTM3MDg2NzE2MTgzNjI5NDMxNA.Gpr1Ga.6q26p0e36KusBChqhS7rrv7__LwGAYkOLKgK3Q"
    },
    "skin_uuid": {
      "comment": "Использовать uuid для получения скина по ссылке, иначе будет использован ник",
      "type": "boolean",
      "default": true,
      "value": true
    },
    "skipLogsBeforeStarting": {
      "comment": "Список частей строк или полных строк, которые не будут выводиться в Discord консоль до ServerStartedEvent",
      "type": "Set<String>",
      "default": [
        "Failed to find item for",
        "Adding clickable crop support for",
        "Not adding supplied recipe as a recipe already exists for the input",
        "EMC Exploit:",
        "Overwriting fixValueBeforeInherit for",
        "Ignoring Recipe because of invalid ingredient or output:",
        "Can not map Crafting Recipes with Type",
        "Unable to register a recipe:Unable to find item"
      ],
      "value": [
        "Failed to find item for",
        "Adding clickable crop support for",
        "Not adding supplied recipe as a recipe already exists for the input",
        "EMC Exploit:",
        "Overwriting fixValueBeforeInherit for",
        "Ignoring Recipe because of invalid ingredient or output:",
        "Can not map Crafting Recipes with Type",
        "Unable to register a recipe:Unable to find item"
      ]
    },
    "console_timezone": {
      "comment": "Часовой пояс для вывода даты в дискорд",
      "type": "String",
      "default": "Europe/Moscow",
      "value": "Europe/Moscow"
    },
    "messages": {
      "properties": {
        "player_join": {
          "type": "String",
          "default": ":heavy_plus_sign: **Игрок %s зашел на сервер**",
          "value": ":heavy_plus_sign: **Игрок %s зашел на сервер**"
        },
        "to_discord": {
          "type": "String",
          "default": "%s ➤ %s",
          "value": "%s ➤ %s"
        },
        "to_minecraft": {
          "type": "String",
          "default": "§3[Discord] §9%s §3➤ §9%s",
          "value": "§3[Discord] §9%s §3➤ §9%s"
        },
        "server_start": {
          "type": "String",
          "default": ":white_check_mark: **Сервер запущен**",
          "value": ":white_check_mark: **Сервер запущен**"
        },
        "player_quit": {
          "type": "String",
          "default": ":heavy_minus_sign: **Игрок %s вышел с сервера**",
          "value": ":heavy_minus_sign: **Игрок %s вышел с сервера**"
        },
        "server_stop": {
          "type": "String",
          "default": ":octagonal_sign: **Сервер остановлен**",
          "value": ":octagonal_sign: **Сервер остановлен**"
        }
      }
    }
  }
}