Add en CHANGELOG version

This commit is contained in:
itqop 2024-10-21 11:57:00 +03:00
parent 280eb64159
commit 2ccaa6927c
2 changed files with 167 additions and 67 deletions

View File

@ -1,91 +1,100 @@
# Журнал изменений (CHANGELOG) # Changelog
Все заметные изменения в этом проекте будут задокументированы в этом файле. All notable changes to this project will be documented in this file.
Формат основан на [Keep a Changelog](https://keepachangelog.com/ru/1.0.0/), и этот проект придерживается [Семантического Версионирования](https://semver.org/lang/ru/). The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/).
## [0.1.3] - 2023-10-25 ## [0.1.3] - 2024-10-21
### Добавлено ### Added
- **Конфигурируемый порог мата**: - **Configurable Profanity Threshold**:
- Значение порога для определения мата (`0.5`) теперь берётся из конфигурации (`profanity_threshold`), с дефолтным значением `0.5`. - The threshold value for determining profanity (`0.5`) is now sourced from the configuration (`profanity_threshold`) with a default value of `0.5`.
- Позволяет настроить чувствительность фильтра мата. - Allows customization of the profanity filter sensitivity.
- **Конфигурируемое регулярное выражение для проверки мата**: - **Configurable Regular Expression for Profanity Detection**:
- Регулярное выражение `PROFANITY_REGEX` теперь берётся из конфигурации (`profanity_regex`). - The `PROFANITY_REGEX` pattern is now sourced from the configuration (`profanity_regex`).
- Дефолтное значение установлено в предоставленное регулярное выражение. - The default value is set to the provided regular expression.
- Позволяет настраивать или расширять правила фильтрации мата. - Enables customization or expansion of profanity filtering rules.
### Изменено ### Changed
- **Обновление `ProfanityChecker` и `ChatEventHandler`**: - **Updated `ProfanityChecker` and `ChatEventHandler`**:
- Модифицированы для использования новых настроек из конфигурации. - Modified to utilize the new configuration settings.
- Улучшена гибкость и настраиваемость мода. - Enhanced the flexibility and configurability of the mod.
## [0.1.2] - 2024-10-21 ## [0.1.2] - 2024-10-21
### Изменено ### Changed
- **Название мода**: - **Mod Name**:
- Переименован мод с `Chatit` на `ChatIT` для согласованности и улучшения брендинга. - Renamed the mod from `Chatit` to `ChatIT` for consistency and improved branding.
## [0.1.1] - 2024-10-21 ## [0.1.1] - 2024-10-21
### Изменено ### Changed
- **Исправление метода получения уровня игрока**: - **Fixed Player Level Retrieval Method**:
- Использование `receiver.level()` и `sender.level()` теперь обёрнуто в блок `try-with-resources` для корректной работы с ресурсами и устранения ошибок. - Wrapped `receiver.level()` and `sender.level()` in a `try-with-resources` block to ensure proper resource management and eliminate errors.
- **Форматирование префиксов**: - **Prefix Formatting**:
- Убрано жирное форматирование (`ChatFormatting.BOLD`) из префиксов `[G]`, `[L]` и `[ERROR]`. Теперь буквы `G`, `L` и `ERROR` отображаются без жирного начертания, сохраняя цветовое выделение. - Removed bold formatting (`ChatFormatting.BOLD`) from the prefixes `[G]`, `[L]`, and `[ERROR]`. Now, the letters `G`, `L`, and `ERROR` are displayed without bold styling while retaining their color highlights.
- **Чистый код**: - **Clean Code**:
- Удалены все комментарии из кода для повышения читаемости и поддерживаемости. - Removed all comments from the code to enhance readability and maintainability.
## [0.1.0] - 2024-10-21 ## [0.1.0] - 2024-10-21
### Добавлено ### Added
- **Локальный и глобальный чат**: - **Local and Global Chat**:
- Сообщения, начинающиеся с `!`, отправляются глобально всем игрокам. - Messages starting with `!` are broadcasted globally to all players.
- Сообщения без `!` отправляются локально игрокам в радиусе 50 блоков. - Messages without `!` are sent locally to players within a 50-block radius.
- **Префиксы сообщений**:
- `[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` окрашены в заданные цвета.
### Изменено - **Message Prefixes**:
- `[G]` for global messages, where `G` is lime-colored.
- `[L]` for local messages, where `L` is yellow-colored.
- `[ERROR]` for error messages, where `ERROR` is red-colored.
- **Оптимизация кода**: - **Profanity Filtering**:
- Обработка сообщений перенесена в асинхронный поток для улучшения производительности. - Integrated with an external API to check messages for profanity.
- Улучшена структура кода для повышения читаемости и поддерживаемости. - Asynchronous message checking to prevent blocking the main server thread.
- **Исправления**: - Added a `regex` setting to use regular expressions when the API is unavailable.
- Устранены предупреждения и ошибки, связанные с устаревшими методами.
- Исправлены проблемы с многопоточностью и доступом к игровым объектам. - **Adult Parameter for Players**:
- `/chatit adult` command to toggle the `adult` parameter for players.
- Player settings are saved to `config/chatit_player_settings.json`.
- Default `adult` value for new players is set in the configuration (`default_adult`).
- **Message Filtering Based on `adult` Parameter**:
- If the sender's `adult` is off and the message contains profanity, the message is blocked and only sent to the sender with the `[ERROR]` prefix.
- Players with `adult` off do not see profanity messages from other players.
- Players with `adult` on can send and receive profanity messages.
- **Configuration File**:
- Created `config/chatit.toml` with the following settings:
- `host_api`: URL of the API for profanity checking.
- `default_adult`: Default `adult` value for new players (true/false).
- `regex`: Use regular expressions when the API is unavailable (true/false).
- **Asynchronous Processing**:
- Interactions with the API are handled asynchronously using `CompletableFuture`.
- Prevents blocking the main server thread during message checks.
- **Error Handling**:
- When the API is unavailable and `regex=true`, regular expressions are used for profanity detection.
- On encountering errors, an error message is sent only to the sender.
- **Message Formatting**:
- Prefixes `[G]`, `[L]`, `[ERROR]` are displayed with proper formatting.
- Letters `G`, `L`, and the word `ERROR` are colored appropriately.
### Changed
- **Code Optimization**:
- Moved message handling to an asynchronous thread to improve performance.
- Enhanced code structure for better readability and maintainability.
- **Bug Fixes**:
- Removed warnings and errors related to deprecated methods.
- Fixed issues with multithreading and accessing game objects.

91
CHANGELOG.ru.md Normal file
View File

@ -0,0 +1,91 @@
# Журнал изменений (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` окрашены в заданные цвета.
### Изменено
- **Оптимизация кода**:
- Обработка сообщений перенесена в асинхронный поток для улучшения производительности.
- Улучшена структура кода для повышения читаемости и поддерживаемости.
- **Исправления**:
- Устранены предупреждения и ошибки, связанные с устаревшими методами.
- Исправлены проблемы с многопоточностью и доступом к игровым объектам.