From f7b0004423d6d61a4503a31754e2924b63d970eb Mon Sep 17 00:00:00 2001 From: itqop Date: Mon, 21 Oct 2024 11:25:14 +0300 Subject: [PATCH] Add CHANGELOG --- CHANGELOG | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 CHANGELOG diff --git a/CHANGELOG b/CHANGELOG new file mode 100644 index 0000000..90afc1c --- /dev/null +++ b/CHANGELOG @@ -0,0 +1,65 @@ +# Журнал изменений (CHANGELOG) + +Все заметные изменения в этом проекте будут задокументированы в этом файле. + +Формат основан на [Keep a Changelog](https://keepachangelog.com/ru/1.0.0/), и этот проект придерживается [Семантического Версионирования](https://semver.org/lang/ru/). + +## [0.1.1] - 2023-10-25 + +### Изменено + +- **Исправление метода получения уровня игрока**: + - Использование `receiver.level()` и `sender.level()` теперь обёрнуто в блок `try-with-resources` для корректной работы с ресурсами и устранения ошибок. + +- **Форматирование префиксов**: + - Убрано жирное форматирование (`ChatFormatting.BOLD`) из префиксов `[G]`, `[L]` и `[ERROR]`. Теперь буквы `G`, `L` и `ERROR` отображаются без жирного начертания, сохраняя цветовое выделение. + +- **Чистый код**: + - Удалены все комментарии из кода для повышения читаемости и поддерживаемости. + +## [0.1.0] - 2023-10-25 + +### Добавлено + +- **Локальный и глобальный чат**: + - Сообщения, начинающиеся с `!`, отправляются глобально всем игрокам. + - Сообщения без `!` отправляются локально игрокам в радиусе 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` окрашены в заданные цвета. + +### Изменено + +- **Оптимизация кода**: + - Обработка сообщений перенесена в асинхронный поток для улучшения производительности. + - Улучшена структура кода для повышения читаемости и поддерживаемости. +- **Исправления**: + - Устранены предупреждения и ошибки, связанные с устаревшими методами. + - Исправлены проблемы с многопоточностью и доступом к игровым объектам.