Плагин mcChat - Чат по новому в Майнкрафт | mcDev
mcChat - Чат по новому

Плагин mcChat - Чат по новому 2.0.2

Требуется UtilM
https://mcdev.su/resources/utilm.73/
Для версий
  1. 1.8.x-1.21.x
Обратите внимание! Пользователи CMI испытывают "дублирование сообщения". Сделайте server/plugins/CMI/Settings/Chat.yml состояние Chat.ModifyChatFormat.ClickHoverMessages: false чтобы исправить это.


mcChat - Чат по новому​

Конфигурируемый чат с кучей настроек

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

YAML:
# Плагин: mcChat (Чат)
# Версия: 1.8+
#
# Описание:
# Плагин добавляет конфигурацию чата.
#
# Зависимости: (плагины без которых этот работать не будет)
# - UtilM https://mcdev.su/resources/utilm.73/
#
# Опциональные зависимости: (плагины без которых не будет полного функционала, но работать будет)
# - PlaceholdersAPI https://www.spigotmc.org/resources/placeholderapi.6245/
#
# Регулярные выражения.
# Плагин использует регулярные выражения в качестве инструмента конфигурации.
# Пожалуйста ознакомьтесь с примерами ниже, подобные выражения неоднократно
# использованы в конфигурации по умолчанию.
#
# В данном примере регулярное выражение распространяется на команду и все подкоманды.
#
# Протестировать регулярное выражение онлайн.
# https://regex101.com/
# Выбранные галочки:
# - (FLAVOR) Java 8
# - (FUNCTION) Match
#
# Регулярное выражение "(?i)^/afk(\\s+.*)?$" и его валидность:
# "/afk" = валидно
# "/afk " = валидно
# "/aFk" = валидно
# "/AFK" = валидно
# "/afk argument1" = валидно
# "/afk argument1 argument2 argument3" = валидно
# "afk argument1" = нет
# "/af" = нет
# "/afkargument1" = нет
#
# "(?i)" - Делает нечувствительным к регистру.
# "^" — Указывает на начало строки.
# "/afk" — Буквально соответствует строке /afk.
# "(\\s+.*)?" — Это группа, которая может присутствовать или отсутствовать. Она состоит из:
# "\\s+" — Один или несколько пробелов.
# ".*" — Любое количество (включая ноль) любых символов.
# "?" — Указывает, что вся группа может присутствовать ноль или один раз.
# "$" — Указывает на конец строки.
sample_regular_expression_1: "(?i)^/afk(\\s+.*)?$"

# В данном примере регулярное выражение распространяется только на команду без подкоманд/аргументов.
#
# Протестировать регулярное выражение онлайн.
# https://regex101.com/
# Выбранные галочки:
# - (FLAVOR) Java 8
# - (FUNCTION) Match
#
# Регулярное выражение "(?i)^/kit\\s*$" и его валидность:
# "/kit" = валидно
# "/kit " = валидно
# "/kiT" = валидно
# "/KIT" = валидно
# "/kit argument1" = нет
# "/kit argument1 argument2 argument3" = нет
# "kit argument1" = нет
# "/ki" = нет
# "/kitargument1" = нет
#
# "(?i)" - Делает нечувствительным к регистру.
# "^" — Указывает на начало строки.
# "/kit" — Буквально соответствует строке /kit.
# "\\s*" — 0 и более пробелов.
# "$" — Указывает на конец строки.
sample_regular_expression_2: "(?i)^/kit\\s*$"

message:
 # Поддерживается вывод сообщений в мультистрочном формате.
 reload_success:
 - "&aПлагин перезагружен!"
 permission_denied: "&cОтказано в доступе."
 spy_chat_enabled: "&eШпионский чат &aактивирован&e!"
 spy_chat_disabled: "&eШпионский чат &cвыключен&e!"
 help:
 - '&e/chat reload &7- перезагрузить плагин'
 - '&e/chat help &7- показать список команд'
 - '&e/chat spy &7- включить/выключить шпионский чат'

permission:
 reload: chat.reload # Разрешение на перезагрузку этого плагина.
 spy: chat.spy # Разрешение на включение/выключение шпионского чата.

# Конфигурация автоматического сохранения данных.
auto_save:
 delay: 300 # (Сек.) Интервал сохранения данных.

# Список модулей управления чатом.
#
# Примечание: последовательность объявления модулей важна, в начале следует
# объявить модули на проверки, а в конце модуль на чат (показывает сообщения).
# В противном случае сообщение сначала может быть показано, а потом будет
# написано, что оно не прошло проверку по той или иной причине, хотя показано.
chat_module_list:

 # Пример модуля на невозможность отправки сообщений в чат до
 # достижения игроком указанного проведенного времени в игре.
 newbie_message_delay_module: # ID модуля управления чатом.
 chat_module_type: NEWBIE_MESSAGE_DELAY # Тип модуля.
 bypass_permission: chat.newbie_message_delay_module.bypass # Разрешение на игнорирование работы этого модуля игроком.
 delay_seconds: 300 # (Сек.) Сколько секунд с момента входа игрока в игру на него будет действовать этот модуль?
 message:
 access_denied:
 time_color:
 # Цвет цифр оставшегося времени до прекращения действия "новичкового" ограничения.
 # Используйте цвета версии ядра на котором запускаете плагин (по умолничаю: 1.8.8).
 # Списки всех цветов для каждой версии:
 # https://helpch.at/docs/1.8.8/org/bukkit/ChatColor.html
 # https://helpch.at/docs/x.x.x/org/bukkit/ChatColor.html
 # ...
 number: AQUA
 abbreviation: RED
 text: "&cВоспользоваться чатом можно будет через %delay%"

 # Пример модуля на невозможность использования команд (в виде регулярных выражений) до
 # достижения игроком указанного проведенного времени в игре.
 newbie_command_delay_module:
 chat_module_type: NEWBIE_COMMAND_DELAY
 delay_seconds: 600 # (Сек.) Сколько секунд с момента входа игрока в игру на него будет действовать этот модуль?
 bypass_permission: chat.newbie_command_delay_module.bypass # Разрешение на игнорирование работы этого модуля игроком.
 command_regular_expression_list: # Список команд которые нельзя использовать пока игрок не проведет в игре "delay_seconds" секунд.
 - "(?i)^/spawn(\\s+.*)?$" # Я не понимаю, что это? Пожалуйста посмотрите примеры регулярных выражений вверху этого файла.
 - "(?i)^/afk\\s*$"
 message:
 access_denied:
 time_color:
 number: AQUA
 abbreviation: RED
 text: "&cВоспользоваться этой командой можно будет через %delay%"

 # Пример модуля на вайтлист команд (в виде регулярных выражений).
 # Только команды (в виде регулярных выражений) из этого списка будут разрешены к использованию.
 command_whitelist_module:
 chat_module_type: COMMAND_WHITELIST
 bypass_permission: chat.command_whitelist_module.bypass # Разрешение на игнорирование работы этого модуля игроком.
 command_regular_expression_list: # Список команд которые можно использовать (другие нельзя, тк. это вайтлист).
 - "(?i)^/spawn(\\s+.*)?$" # Я не понимаю, что это? Пожалуйста посмотрите примеры регулярных выражений вверху этого файла.
 - "(?i)^/afk\\s*$"
 message:
 access_denied: "&cЭтой команды нет в списке разрешенных, она запрещена к использованию."

 # Пример модуля на блеклист команд (в виде регулярных выражений).
 # Все команды (в виде регулярных выражений) кроме указанных в списке будут разрешены к использованию.
 command_blacklist_module:
 chat_module_type: COMMAND_BLACKLIST
 bypass_permission: chat.command_blacklist_module.bypass # Разрешение на игнорирование работы этого модуля игроком.
 command_regular_expression_list: # Список регулярных выражений команд которые нельзя использовать (другие можно, тк. это блеклист).

 # В качестве примера конфигурации по умолчанию, устроим пересечение ограничений вайтлиста и блеклиста, доступной останется только команда "/spawn".
 # Я не понимаю, что это? Пожалуйста посмотрите примеры регулярных выражений вверху этого файла.
 - "(?i)^/afk(\\s+.*)?$"

 message:
 access_denied: "&cЭта комнада находится в списке запрещенных, она запрещена к использованию."

 # Пример модуля на задержки выполнения команд (в виде регулярных выражений).
 # Команды (в виде регулярных выражений) из этого списка при повторном выполнении не выполнятся, а напишут время до след. выполнения.
 # Время задержки определяется по умолчанию или разрешением, чем более
 # привелигированное разрешение, тем меньше задержка (так по умолчанию, можно изменить).
 command_delay_module:
 chat_module_type: COMMAND_DELAY
 command_regular_expression_list: # Список регулярных выражений команд на которые будет распространяться задержка.
 - "(?i)^/afk(\\s+.*)?$" # Я не понимаю, что это? Пожалуйста посмотрите примеры регулярных выражений вверху этого файла.
 - "(?i)^/kit\\s*$"

 permission_delay: # Секция конфигурации разрешений-задержек.
 default_delay: 7 # (Сек.) Задержка после которой сработает команда.
 list: # Список разрешений-задержек.
 permission_delay_1:
 permission: chat.command_delay_module.permission_delay_1
 delay: 5 # (Сек.) Задержка после которой сработает команда при наличии разрешения.
 permission_delay_2:
 permission: chat.command_delay_module.permission_delay_2
 delay: 2
 permission_delay_3:
 permission: chat.command_delay_module.permission_delay_3
 delay: 0 # (Сек.) 0 и ниже означает отсутствие задержки при наличии разрешения.
 message:
 access_denied:
 time_color:
 number: AQUA
 abbreviation: RED
 text: "&cНа эту команду действует задержка на выполнение, до след. выполнения осталось %delay%"

 # Пример модуля на индивидуальные задержки выполнения команды (в виде регулярного выражения).
 # Команды (в виде регулярных выражений) из этого списка при повторном выполнении не выполнятся, а напишут время до след. выполнения.
 # Время задержки определяется по умолчанию или разрешением, чем более
 # привелигированное разрешение, тем меньше задержка (так по умолчанию, можно изменить).
 custom_command_delay_module:
 chat_module_type: CUSTOM_COMMAND_DELAY
 custom_command_delay_list: # Список ID команд на которые распространяются индивидуальные задержки.
 custom_command_delay_1: # ID команды на которую распространяется индивидуальная задержка.
 command_regular_expression: "(?i)^/repair(\\s+.*)?$" # Я не понимаю, что это? Пожалуйста посмотрите примеры регулярных выражений вверху этого файла.
 permission_delay: # Секция конфигурации разрешений-задержек.
 default_delay: 7 # (Сек.) Задержка после которой сработает команда.

 # Список разрешений-задержек.
 # Если нужно оставить только основную задержку "default_delay", без индивидуальных разрешений, то
 # закомментируйте или удалите содержимое секции "list" и присвойте ей значение "list: {}" (пустой).
 list:
 permission_delay_1:
 permission: chat.custom_command_delay_module.permission_delay_1
 delay: 5 # (Сек.) Задержка после которой сработает команда при наличии разрешения.
 permission_delay_2:
 permission: chat.custom_command_delay_module.permission_delay_2
 delay: 2
 permission_delay_3:
 permission: chat.custom_command_delay_module.permission_delay_3
 delay: 0 # (Сек.) 0 и ниже означает отсутствие задержки при наличии разрешения.
 custom_command_delay_2:
 command_regular_expression: "(?i)^/call\\s*$"
 permission_delay:
 default_delay: 7
 list:
 permission_delay_1:
 permission: chat.custom_command_delay_module.permission_delay_1
 delay: 5
 permission_delay_2:
 permission: chat.custom_command_delay_module.permission_delay_2
 delay: 2
 permission_delay_3:
 permission: chat.custom_command_delay_module.permission_delay_3
 delay: 0
 message:
 access_denied:
 time_color:
 number: AQUA
 abbreviation: RED
 text: "&cНа эту команду действует &lиндивидуальная&r&c задержка на выполнение, до след. выполнения осталось %delay%"

 # Пример модуля на блокировку сообщений содержащих плохие слова.
 bad_word_module:
 chat_module_type: BAD_WORD

 # Путь до файла/места хранения плохих слов в папке плагина (не "plugins", а "plugins/mcChat/N", где N и есть путь до файла).
 #
 # По умолчанию будет распакован файл по умолчанию который хранит в себе
 # плохие слова в формате, где каждая новая строка это плохое слово, например:
 # плохое слово 1
 # плохое слово 2
 #
 # Файл можно редактировать добавляя или удаляя плохие слова.
 #
 # Примечание:
 # Регистр (верхний нижний не важен) - "Жопа" и "жопа" не важен, дадут один и тот же результат.
 # Наличие пробелов - "Ж о п а" и "жопа" не важно, даст один и тот же результат.
 # Наличие переносов "\r", табуляции "\t" - "жо\rп\tа" и "жопа" не важно, даст один и тот же результат.
 # Наличие кодов цвета (HEX тоже) "жоп &fа" не важно, даст один и тот же результат.
 bad_words_txt_file: "bad_words.txt"

 # Путь до файла/места хранения хороших слов в папке плагина (не "plugins", а "plugins/mcChat/N", где N и есть путь до файла).
 #
 # По умолчанию будет распакован файл по умолчанию который хранит в себе
 # хорошие слова в формате, где каждая новая строка это хорошее слово, например:
 # хорошее слово 1
 # хорошее слово 2
 #
 # Файл можно редактировать добавляя или удаляя хорошие слова.
 good_words_txt_file: "good_words.txt"

 # Проверять наличие обновленной версии списка плохих слов?
 #
 # Обратите внимание:
 # Если будет найдено валидное обновление, то текущий файл "bad_words_txt_file" будет перезаписан.
 #
 # Примечание:
 # Если текущий файл "bad_words_txt_file" был модифицирован вами вручную, то его временная
 # метка изменения, что что может привести к недопониманию, обновление есть, но не скачивается.
 # Например:
 # На сервере есть файл "bad_words_txt_url" залитый в 16:30, в 16:32 вы меняете файл "bad_words_txt_file"
 # и влючаете сервер с проверкой наличия обновлений, обновление не установится, тк. 16:32 более актуальная дата
 # модификации файла чем 16:30 на сервере.
 # Такая ситуация невозможна при первой распаковке файла "bad_words_txt_file", тк. ему программно присваивается
 # временная метка "0" последней модификации (условно, "никогда не модифицировался").
 check_for_updates: false

 # URL получения обновленной версии плохих слов "bad_words_txt_file".
 #
 # Примечание:
 # Проверка новизны происходит по заголовку ответа "Last-Modified", который
 # автоматически добавляется веб-серверами если файл находится на диске.
 # Например в случае с Apache HTTP Server достаточно положить файл в папку "www" и
 # Apache HTTP Server сам определит последнюю дату модификации файла и укажет ее в
 # заголовке ответа.
 bad_words_txt_url: "https://example.com/foo/bar/bad_words.txt"

 # Разрешение на игнорирование работы этого модуля игроком.
 bypass_permission: chat.bad_word_module.bypass

 message:
 access_denied:
 text: "&cСообщение содержит недопустимые слова."

 # Пример модуля на предотвращение слишком частой отправки сообщений (не имеет занчения одинаковые сообщения или нет).
 anti_spam_module:
 chat_module_type: ANTI_SPAM

 # (Тиков. 1 сек = 20 тиков) Сколько тиков должно пройти до
 # возможности написать еще одно сообщение в чат (интервал).
 delay_ticks: 10

 # Разрешение на игнорирование работы этого модуля игроком.
 bypass_permission: chat.anti_spam_module.bypass

 message:
 access_denied:
 time_color:
 number: AQUA
 abbreviation: RED
 text: "&cНельзя отправлять сообщения в чат так быстро, до след. отправки осталось %delay%"

 # Пример модуля на предотвращение одинаковых сообщений в чате.
 # Если среди последних "max_messages_threshold" сообщений, отправляемое сообщение
 # встречалось "max_identical_messages" раз и более, то до тех пор пока
 # не пройдет "delay_seconds" с момента такого последнего отправленного сообщения,
 # такое новое сообщение не будет доставлено в чат с ошибкой "message.access_denied".
 anti_repetitions_module:
 chat_module_type: ANTI_REPETITIONS

 # После какого одинакового сообщения начнется задержка?
 # В примере по умолчанию 3-е одинаковое сообщение попадет под задержку и не отправится в чат.
 max_identical_messages: 2

 # Сколько последних сообщений будет храниться для проверки на наличие повторений.
 max_messages_threshold: 10

 # (Сек.) Сколько секунд действует задержка до следующей
 # возможности написать еще одно одинаковое сообщение в чат.
 delay_seconds: 5

 # Разрешение на игнорирование работы этого модуля игроком.
 bypass_permission: chat.anti_repetitions_module.bypass

 message:
 access_denied:
 time_color:
 number: AQUA
 abbreviation: RED
 text: "&cНельзя отправлять &lодинаковые&r&c сообщения в чат так быстро, до след. отправки осталось %delay%"

 # Пример модуля на чат.
 chat_module:
 chat_module_type: CHAT

 # Префикс перед сообщениями когда включен "/chat spy" чат (шпионский чат).
 # Это явно покажет что сейчас вы в режиме шпионского чата и можете прослушивать все сообщения.
 # Оставьте значение пустым 'spy_prefix: ""' чтобы отключить префикс.
 spy_prefix: "&7[Шпион] &r"

 # Разрешение на использование кодов цвета в сообщении.
 # При наличии у отправителя этого разрешения его сообщения в чате будут окрашиваться если использованы коды цветов.
 colorize_message_permission: chat.chat_module.colorize_message_permission

 # Конфигурация глобального/локального/донат/персонал чата.
 # Если активно, то обычные сообщения в чате увидят только игроки в указанном радиусе от отправителя, а для того
 # чтобы сообщения увидели все игроки, то перед сообщением необходимо написать специальный префикс, например "!".
 enable_global_chat: true # Если "true", то в чате будет разделение на глобальный и локальный чаты.
 global_chat_prefix: "!" # Что нужно написать в начале сообщения чтобы оно попало в глобальный чат?
 global_chat_message_format: "&e(глобальный чат) &7%player%&f: %message%" # Формат глобального сообщения (PAPI поддерживается).

 local_chat_radius: 100 # (Блоков) В радиусе скольки блоков от отправителя другие игроки увидят его локальное сообщение.
 local_chat_message_format: "&a(локальный чат) &7%player%&f: %message%" # Формат локального сообщения (PAPI поддерживается).

 # Формат обычного сообщения который будет использован в случае если "enable_global_chat: false" (PAPI поддерживается).
 chat_message_format: "&7%player%&f: %message%"

 enable_donate_chat: true # Если "true", то в чате будет добавлен донат-чат.
 donate_chat_permission: "chat.donate_chat_permission" # Разрешение на отправку сообщений в донат-чат.
 donate_chat_prefix: "@" # Что нужно написать в начале сообщения чтобы оно попало в донат-чат?
 donate_chat_message_format: "&6(донат-чат) &7%player%&f: %message%" # Формат донат-чат сообщения (PAPI поддерживается).

 enable_staff_chat: true # Если "true", то в чате будет добавлен персонал-чат.
 staff_chat_permission: "chat.staff_chat_permission" # Разрешение на отправку сообщений в персонал-чат.
 staff_chat_prefix: "#" # Что нужно написать в начале сообщения чтобы оно попало в персонал-чат?
 staff_chat_message_format: "&2(персонал-чат) &7%player%&f: %message%" # Формат персонал-чат сообщения (PAPI поддерживается).
  • Мне нравится
Реакции: leondg., Mell и dsdsadasd
Автор
mcdev
Куплено
72
Показов
5,811
Первый выпуск
Обновление

Оценки

5.00 звёзд 4 оценок

Другие ресурсы пользователя mcdev

Что важно знать

Автор
Категория
Плагины
Кратко
Конфигурируемый чат с кучей настроек
Первая публикация
27.08.2024
Обновлено
11.03.2026
Стоимость
69 RUB (без скидки 139 RUB)
Рейтинг
5.0 из 5 (4 оценок, 4 отзывов)
Скачиваний
72
Совместимость
1.8.x-1.21.x
Требования

Последние обновления

  1. 2.0.2

    - Добавлен пример регулярного выражения с алиасой. - В конфигурации добавлены/изменены следующие...

Последние отзывы

хороший плагин на чат , работает на 1.21 и это главный плюсь от чатти
Плагин идеально, функции чата идеально сделано!
Советую!
Отличный плагин, но было бы отлично если бы была возможность отключать модули
mcdev
mcdev
Просто закомментируйте или удалите целевой модуль чтобы отключить его.
хороший плагин, было бы хорошо если бы можно было отключать какие либо модули например модуль чата
mcdev
mcdev
Просто закомментируйте или удалите целевой модуль чтобы отключить его.

Частые вопросы

Что представляет собой ресурс «mcChat - Чат по новому»?
Ресурс «mcChat - Чат по новому» опубликован в категории «Плагины». Кратко: Конфигурируемый чат с кучей настроек.
Сколько стоит ресурс «mcChat - Чат по новому»?
Текущая цена ресурса — 69 RUB. Базовая цена без скидки — 139 RUB.
Когда ресурс «mcChat - Чат по новому» обновлялся в последний раз?
Последнее зафиксированное обновление ресурса — 11.03.2026. Перед покупкой можно дополнительно проверить блок обновлений и changelog на этой странице.
Есть ли у ресурса «mcChat - Чат по новому» отзывы и оценки?
На странице ресурса уже есть оценки: средний рейтинг — 5.0 из 5 на основе 4 оценок и 4 отзывов.
Где задавать вопросы по ресурсу «mcChat - Чат по новому»?
Основная точка для вопросов по ресурсу — его страница на mcDev. Если отдельная ссылка поддержки не указана, ориентируйтесь на профиль автора и связанные обсуждения.
С какой совместимостью идёт ресурс «mcChat - Чат по новому»?
Автор указал совместимость этого ресурса отдельно:1.8.x-1.21.x
Какие требования нужно учесть перед покупкой ресурса «mcChat - Чат по новому»?
Перед установкой стоит учесть такие требования:ссылка вынесена на отдельную страницу.