# LuxinfineChat-4.4-1.7.10

**Информация:**

Полный аналог плагинов на чат с добавлением социальных команд и тонкой настройкой. Звуковой пинг игрока при отправлении @username в чат, показ баланса при наведении на ник игрока, выполнение команды /msg username при нажатии на ник игрока в чате и множество других фич, уникальных для версии 1.7.10

**Конфигурация:**

```json
{
  "configuration": {
    "time_format": {
      "comment": "Формат времени для плейсхолдера {TIME}",
      "type": "String",
      "default": "HH:mm",
      "value": "HH:mm"
    },
    "social_spy_console": {
      "comment": "Выводить в консоль личные сообщения",
      "type": "boolean",
      "default": true,
      "value": true
    },
    "addPingableNicksInTabComplete": {
      "comment": "Добавить в табкомплит ники игроков с префиксом для пинга",
      "type": "boolean",
      "default": true,
      "value": true
    },
    "player_click_suggest_cmd": {
      "comment": "Какую команду вставить в чат при нажатии на ник игрока в сообщениях. Оставьте пустым, если не требуется. Доступный плейсхолдер - {USERNAME}.",
      "type": "String",
      "default": "/msg {USERNAME} ",
      "value": "/msg {USERNAME} "
    },
    "chat_style_symbol": {
      "comment": "Символ для форматирования сообщений в чате",
      "type": "String",
      "default": "&",
      "value": "&"
    },
    "social_afk_notify": {
      "comment": "Предупреждать игрока о том, что игрок отошёл при попытке написать личное сообщение AFK игроку",
      "type": "boolean",
      "default": true,
      "value": true
    },
    "enable_balance_feature": {
      "comment": "Включить показ баланса игрока",
      "type": "boolean",
      "default": true,
      "value": true
    },
    "notify": {
      "properties": {
        "enable": {
          "comment": "Включить пинг игроков звуковым сигналом",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "sound": {
          "comment": "Имя звука, который будет проигрываться при пинге",
          "type": "String",
          "default": "random.pop",
          "value": "random.pop"
        },
        "prefix": {
          "comment": "Префикс для пинга игроков. Используйте этот символ перед ником игрока для его пинга или для everyone.",
          "type": "String",
          "default": "@",
          "value": "@"
        },
        "volume": {
          "comment": "Громкость звука при пинге",
          "range": "От 0.0 до 3.4028235E38",
          "type": "float",
          "default": 1.5,
          "value": 1.5
        },
        "pitch": {
          "comment": "Пик звука при пинге",
          "range": "От 0.0 до 3.4028235E38",
          "type": "float",
          "default": 1.0,
          "value": 1.0
        },
        "social_auto": {
          "comment": "Автоматический пинг игрока когда ему пишут в личное сообщение",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "permission": {
          "comment": "Право для отправки звукового оповещения игрока при пинге. Если пустое - не требуется.",
          "type": "String",
          "default": "",
          "value": ""
        },
        "enable_everyone": {
          "comment": "Включить пинг всех игроков звуковым сигналом",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "permission_everyone": {
          "comment": "Право для отправки звукового оповещения всем игрокам при пинге. Если пустое - не требуется.",
          "type": "String",
          "default": "chat.everyone.ping",
          "value": "chat.everyone.ping"
        }
      }
    },
    "guard_chat": {
      "properties": {
        "chat_msg_cooldown_global": {
          "comment": "Кулдаун между сообщениями в чат в миллисекундах, 0 для отключения",
          "range": "От 0 до 2147483647",
          "type": "int",
          "default": 100,
          "value": 100
        },
        "chat_msg_per_minute_limit": {
          "comment": "Максимальное кол-во сообщений в чат за минуту, 0 для отключения",
          "range": "От 0 до 2147483647",
          "type": "int",
          "default": 80,
          "value": 80
        }
      }
    },
    "local_chat": {
      "properties": {
        "enabled": {
          "comment": "Включить локальный чат",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "distance": {
          "comment": "Дистанция видимости локального чата",
          "range": "От 0 до 2147483647",
          "type": "int",
          "default": 64,
          "value": 100
        }
      }
    },
    "economy": {
      "comment": "Провайдер экономики",
      "type": "Economy",
      "default": "dummy",
      "value": "LuxinfineEconomy"
    },
    "send_bukkit_events": {
      "comment": "Включить отправку Bukkit PlayerChatEvent для улучшения совместимости с плагинами",
      "type": "boolean",
      "default": true,
      "value": true
    },
    "enable_hello_msg": {
      "comment": "Включить приветственное сообщение при входе на сервер",
      "type": "boolean",
      "default": true,
      "value": true
    },
    "skipVanishPingable": {
      "comment": "Пропускать табкомлит пинга, если игрок находится в ванише",
      "type": "boolean",
      "default": true,
      "value": true
    },
    "ignore_list_limit": {
      "comment": "Максимальный лимит игроков в списке игнора",
      "range": "От -2147483648 до 2147483647",
      "type": "int",
      "default": 16,
      "value": 16
    }
  }
}
```

**Команды:**

| Команда                  | Права и атрибуты                                                                                                                                                                                                                                                                                                                                 | Описание                                                                                                                                                                                                                                                    |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| /afk                     | <p>Основные права:</p><ul><li><code>command.chat.afk</code></li></ul>                                                                                                                                                                                                                                                                            | Принудительное переключение AFK-статуса игрока                                                                                                                                                                                                              |
| /broadcast <сообщение>   | <p>Основные права:</p><ul><li><code>command.chat.broadcast</code></li></ul>                                                                                                                                                                                                                                                                      | Отправляет уведомление всем игрокам от имени сервера                                                                                                                                                                                                        |
| /ignore <игрок> \[игрок] | <p>Основные права:</p><ul><li><code>command.chat.ignore</code></li></ul><p>Дополнительные права:</p><ul><li><code>command.chat.ignore.other</code> - редактирование игнор-листа другого игрока</li><li><code>command.chat.ignore.offline</code> - редактирование игнор-листа офлайн игрока</li></ul>                                             | <p>Добавление/удаление игрока в чёрный список.<br><br>Первый аргумент (обязательный) - игрок, которого добавляем/удаляем в/из ЧС, второй аргумент - игрок, чей ЧС мы редактируем. Если второй аргумент не указан - редактируется ЧС отправителя команды</p> |
| /ignore list \[игрок]    | <p>Основные права:</p><ul><li><code>command.chat.ignore</code></li><li><code>command.chat.ignore.list</code></li></ul><p>Дополнительные права:</p><ul><li><code>command.chat.ignore.list.other</code> - просмотр игнор-листа другого игрока</li><li><code>command.chat.ignore.list.offline</code> - просмотр игнор-листа офлайн игрока</li></ul> | Просмотр чёрного списка игрока                                                                                                                                                                                                                              |
| /msg <игрок> <сообщение> | <p>Основные права:</p><ul><li><code>command.chat.msg</code></li></ul>                                                                                                                                                                                                                                                                            | Отправление личного сообщения игроку                                                                                                                                                                                                                        |
| /reply <сообщение>       | <p>Основные права:</p><ul><li><code>command.chat.reply</code></li></ul>                                                                                                                                                                                                                                                                          | Отправка ответа на последнее личное сообщение, аналог /msg <последний\_отправитель> <сообщение>                                                                                                                                                             |
| /spy \[игрок]            | <p>Основные права:</p><ul><li><code>command.chat.spy</code></li></ul><p>Дополнительные права:</p><ul><li><code>command.chat.spy.other</code> - переключение прослушки другому игроку</li><li><code>command.chat.spy.offline</code> - переключение прослушки офлайн игроку</li></ul>                                                              | Переключает режим прослушки локального и личных чатов игроков                                                                                                                                                                                               |

**Дополнительные права:**

| Право               | Описание                                                                                             |
| ------------------- | ---------------------------------------------------------------------------------------------------- |
| chat.colors         | Возможность использовать цветовые коды в чате                                                        |
| chat.links          | Кликабельность отправляемых ссылок в сообщении игроком                                               |
| chat.spy            | Прослушка локального чата при активации /spy                                                         |
| chat.social         | Прослушка личных чатов при активации /spy                                                            |
| chat.timeout.bypass | Обход глобального КД на отправку сообщений                                                           |
| chat.limit.bypass   | Обход лимита кол-ва сообщений в минуту                                                               |
| chat.ignore.bypass  | Иммунитет к игнору                                                                                   |
| chat.afk.auto       | При наличии этого права в чат будет писать о смене вашего статуса AFK без использования команды /afk |
