You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Интеграция с hClans (флаг hClans: true в config.yml): клановый канал работает через ru.he3hauka.hclans.api.ClanApi — проверка наличия клана, имя клана, группировка сообщений.
Встроенные контекстные плейсхолдеры: {ctx:sender}, {ctx:player}, {ctx:message}, {ctx:world} (и варианты {context:...}) — резолвятся в форматах чата, приватов и бродкастов.
Встроенный action handler copy + команда /fcchat action <id> [message] с правами fcchat.action.<id>.
Команда /fcchat channel <id> и её подсказки в tab-complete показывают текущий канал игрока.
Таб-комплит для /fcchat action.
Git-репозиторий с исходниками, сообщения коммитов на русском.
Изменено
Клановый канал определяется по id: "clan" в chat/channel.yml; убрана placeholder-механика (input/output).
Интеграция TowerClans переписана под новую API (TowerClansAPI / ClanManager), getClanManager() берётся из инстанса плагина.
Проверка наличия клана выполняется по актуальному реестру TowerClans (getClans() + сверка участников по UUID) — кэш ModifiedPlayer больше не используется.
Интеграции TowerClans и hClans работают в связке: приоритет у TowerClans, иначе hClans.
clearChat переведён с deprecated Bukkit.broadcastMessage на цикл по игрокам, анонс об очистке получает и отправитель.
switchChannel корректно обрабатывает null/пустой id (переводит в default).
AntiSpam.isSpam использует реальные значения времени и кулдауна из moderation.yml.
Hover цензурированных сообщений показывает только само сообщение, а не всю строку формата.
Исправлено
Антиспам не срабатывал: в isSpam остались неинициализированные переменные от декомпиляции, из-за которых условие всегда было ложным.
Оригинал заблокированного фильтром сообщения был виден всем при наведении без права fcchat.read — теперь hover с оригиналом доступен только с этим правом (в локальном и глобальном чате; в каналах уже было).
После распуска клана в TowerClans игрок оставался в клановом канале: кэш ModifiedPlayer держал устаревшую ссылку на распущенный клан — проверка переведена на живой реестр кланов.
Дублирование слушателей и таймеров при /fcchat reload:
reloadEventsWithPriority снимает и старые слушатели ChatGame;