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