92 lines
6.9 KiB
Markdown
92 lines
6.9 KiB
Markdown
|
# Журнал изменений (CHANGELOG)
|
|||
|
|
|||
|
Все заметные изменения в этом проекте будут задокументированы в этом файле.
|
|||
|
|
|||
|
Формат основан на [Keep a Changelog](https://keepachangelog.com/ru/1.0.0/), и этот проект придерживается [Семантического Версионирования](https://semver.org/lang/ru/).
|
|||
|
|
|||
|
## [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 и `regex=true` используется регулярное выражение для проверки мата.
|
|||
|
- При возникновении ошибок отправляется сообщение об ошибке только отправителю.
|
|||
|
- **Форматирование сообщений**:
|
|||
|
- Префиксы `[G]`, `[L]`, `[ERROR]` отображаются с корректным форматированием.
|
|||
|
- Буквы `G`, `L` и слово `ERROR` окрашены в заданные цвета.
|
|||
|
|
|||
|
### Изменено
|
|||
|
|
|||
|
- **Оптимизация кода**:
|
|||
|
- Обработка сообщений перенесена в асинхронный поток для улучшения производительности.
|
|||
|
- Улучшена структура кода для повышения читаемости и поддерживаемости.
|
|||
|
- **Исправления**:
|
|||
|
- Устранены предупреждения и ошибки, связанные с устаревшими методами.
|
|||
|
- Исправлены проблемы с многопоточностью и доступом к игровым объектам.
|