11 KiB
11 KiB
Журнал изменений (CHANGELOG)
Все заметные изменения в этом проекте будут задокументированы в этом файле.
Формат основан на Keep a Changelog, и этот проект придерживается Семантического Версионирования.
[0.1.9] - 2024-10-31
Добавлено
-
Config.java:
- Добавлен hot-swap режимов фильтрации мата (
off
,regex
,api
). - Реализована возможность изменения режима фильтрации мата во время работы сервера через команду
/chatit mode (off|regex|api)
.
- Добавлен hot-swap режимов фильтрации мата (
-
ChatITCommand.java:
- Добавлены кастомные личные сообщения на замену команд
/w
,/tell
,/msg
. - Обновлена логика отправки и форматирования приватных сообщений.
- Добавлены кастомные личные сообщения на замену команд
Изменено
- ProfanityChecker.java:
- Обновлена логика проверки мата с учётом новых режимов фильтрации.
[0.1.8] - 2024-10-30
Изменено
- ChatEventHandler.java:
- Изменен цвет сообщений с белого на жёлтый.
[0.1.7] - 2024-10-23
Изменено
- ProfanityChecker.java:
- Установлена версия HTTP на HTTP/1.1 для HttpClient.
[0.1.6] - 2024-10-21
Исправлено
- Проблема с глобальным чатом:
- Исправлены ошибки, влияющие на работу глобального чата.
[0.1.5] - 2024-10-21
Исправлено
- Проблема с локальным чатом:
- Исправлены ошибки, влияющие на работу локального чата.
[0.1.4] - 2024-10-21
Добавлено
-
Логирование ошибок в консоль:
- Реализовано комплексное логирование ошибок в консоль.
- Облегчает отладку и мониторинг, предоставляя подробные сообщения об ошибках во время выполнения.
-
Настраиваемый текст сообщений:
- Введена возможность настройки текста сообщений через конфигурацию.
- Пользователи теперь могут изменять стандартные сообщения, чтобы они лучше соответствовали стилю общения сервера.
Исправлено
- Ошибка таймаута тика:
- Исправлена проблема с таймаутом тика, которая вызывала зависание или сбой сервера при высокой нагрузке.
- Повышена стабильность и производительность мода за счет обеспечения более плавного выполнения циклов тиков.
Изменено
- Переименование класса команды:
- Переименован класс команды с
ChatitCommand.java
наChatITCommand.java
. - Улучшает согласованность и читаемость в кодовой базе, соответствуя стандартам именования.
- Переименован класс команды с
Сводка изменений
- Улучшенная отладка: С добавлением логирования ошибок в консоль разработчики теперь могут более эффективно отслеживать и исправлять проблемы.
- Повышенная настраиваемость: Возможность настройки текста сообщений предоставляет большую гибкость для администраторов серверов.
- Повышенная стабильность: Исправление ошибки таймаута тика обеспечивает более надежную работу мода, даже при высокой нагрузке.
- Улучшение кодовой базы: Переименование класса команды способствует более организованной и поддерживаемой структуре кода.
[0.1.3] - 2024-10-21
Добавлено
-
Конфигурируемый порог мата:
- Значение порога для определения мата (
0.5
) теперь берётся из конфигурации (profanity_threshold
), с дефолтным значением0.5
. - Позволяет настроить чувствительность фильтра мата.
- Значение порога для определения мата (
-
Конфигурируемое регулярное выражение для проверки мата:
- Регулярное выражение
PROFANITY_REGEX
теперь берётся из конфигурации (profanity_regex
). - Дефолтное значение установлено в предоставленное регулярное выражение.
- Позволяет настраивать или расширять правила фильтрации мата.
- Регулярное выражение
Изменено
- Обновление
ProfanityChecker
иChatEventHandler
:- Модифицированы для использования новых настроек из конфигурации.
- Улучшена гибкость и настраиваемость мода.
[0.1.2] - 2024-10-21
Изменено
- Название мода:
- Переименован мод с
Chatit
наChatIT
для согласованности и улучшения брендинга.
- Переименован мод с
[0.1.1] - 2024-10-21
Изменено
-
Исправление метода получения уровня игрока:
- Использование
receiver.level()
иsender.level()
теперь обёрнуто в блокtry-with-resources
для корректной работы с ресурсами и устранения ошибок.
- Использование
-
Форматирование префиксов:
- Убрано жирное форматирование (
ChatFormatting.BOLD
) из префиксов[G]
,[L]
и[ERROR]
. Теперь буквыG
,L
иERROR
отображаются без жирного начертания, сохраняя цветовое выделение.
- Убрано жирное форматирование (
-
Чистый код:
- Удалены все комментарии из кода для повышения читаемости и поддерживаемости.
[0.1.0] - 2024-10-21
Добавлено
- Локальный и глобальный чат:
- Сообщения, начинающиеся с
!
, отправляются глобально всем игрокам. - Сообщения без
!
отправляются локально игрокам в радиусе 50 блоков.
- Сообщения, начинающиеся с
- Префиксы сообщений:
[G]
для глобальных сообщений, гдеG
лаймового цвета.[L]
для локальных сообщений, гдеL
жёлтого цвета.[ERROR]
для сообщений об ошибках, гдеERROR
красного цвета.
- Проверка на маты:
- Интеграция с внешним API для проверки сообщений на наличие мата.
- Асинхронная проверка сообщений, чтобы избежать блокировки основного потока сервера.
- Добавлена настройка
regex
для использования регулярного выражения при недоступности API.
- Параметр
adult
для игроков:- Команда
/chatit adult
для переключения параметраadult
у игрока. - Настройки игроков сохраняются в файл
config/chatit_player_settings.json
. - Значение
adult
по умолчанию для новых игроков задаётся в конфигурации (default_adult
).
- Команда
- Фильтрация сообщений на основе параметра
adult
:- Если у отправителя
adult
выключен и сообщение содержит маты, оно блокируется и отправляется только ему с префиксом[ERROR]
. - Игроки с
adult
выключенным не видят сообщения с матами от других игроков. - Игроки с
adult
включенным могут отправлять и получать сообщения с матами.
- Если у отправителя
- Конфигурационный файл:
- Создаётся файл
config/chatit.toml
с настройками:host_api
: URL API для проверки мата.default_adult
: Значениеadult
по умолчанию для новых игроков (true/false).regex
: Использовать регулярное выражение при недоступности API (true/false).
- Создаётся файл
- Асинхронная обработка:
- Взаимодействие с API происходит асинхронно с использованием
CompletableFuture
. - Предотвращает блокировку основного потока сервера при проверке сообщений.
- Взаимодействие с API происходит асинхронно с использованием
- Обработка ошибок:
- При недоступности API и
regex=true
используется регулярное выражение для проверки мата. - При возникновении ошибок отправляется сообщение об ошибке только отправителю.
- При недоступности API и
- Форматирование сообщений:
- Префиксы
[G]
,[L]
,[ERROR]
отображаются с корректным форматированием. - Буквы
G
,L
и словоERROR
окрашены в заданные цвета.
- Префиксы
Изменено
- Оптимизация кода:
- Обработка сообщений перенесена в асинхронный поток для улучшения производительности.
- Улучшена структура кода для повышения читаемости и поддерживаемости.
- Исправления:
- Устранены предупреждения и ошибки, связанные с устаревшими методами.
- Исправлены проблемы с многопоточностью и доступом к игровым объектам.