5.7 KiB
5.7 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.1.6] - 2024-10-21
Fixed
- Global Chat Issue:
- Resolved bugs affecting the functionality of the global chat.
[0.1.5] - 2024-10-21
Fixed
- Local Chat Issue:
- Resolved bugs affecting the functionality of the local chat.
[0.1.4] - 2024-10-21
Added
-
Console Error Logging:
- Implemented comprehensive error logging to the console.
- Facilitates easier debugging and monitoring by providing detailed error messages during runtime.
-
Configurable Message Text:
- Introduced the ability to customize message texts via configuration.
- Users can now modify the default messages to better fit their server's communication style.
Fixed
- Tick Timeout Error:
- Resolved the tick timeout issue that caused the server to lag or crash under high load.
- Enhanced the stability and performance of the mod by ensuring smoother execution of tick cycles.
Changed
- Renamed Command Class:
- Renamed the command class from
ChatitCommand.javatoChatITCommand.java. - Improves consistency and readability within the codebase, aligning with naming conventions.
- Renamed the command class from
Summary of Changes
- Enhanced Debugging: With the addition of console error logs, developers can now trace and fix issues more efficiently.
- Increased Configurability: Allowing message texts to be configured provides greater flexibility for server administrators.
- Improved Stability: Fixing the tick timeout error ensures that the mod runs more reliably, even under heavy usage.
- Codebase Refinement: Renaming the command class contributes to a more organized and maintainable code structure.
[0.1.3] - 2024-10-21
Added
-
Configurable Profanity Threshold:
- The threshold value for determining profanity (
0.5) is now sourced from the configuration (profanity_threshold) with a default value of0.5. - Allows customization of the profanity filter sensitivity.
- The threshold value for determining profanity (
-
Configurable Regular Expression for Profanity Detection:
- The
PROFANITY_REGEXpattern 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.
- The
Changed
- Updated
ProfanityCheckerandChatEventHandler:- Modified to utilize the new configuration settings.
- Enhanced the flexibility and configurability of the mod.
[0.1.2] - 2024-10-21
Changed
- Mod Name:
- Renamed the mod from
ChatittoChatITfor consistency and improved branding.
- Renamed the mod from
[0.1.1] - 2024-10-21
Changed
-
Fixed Player Level Retrieval Method:
- Wrapped
receiver.level()andsender.level()in atry-with-resourcesblock to ensure proper resource management and eliminate errors.
- Wrapped
-
Prefix Formatting:
- Removed bold formatting (
ChatFormatting.BOLD) from the prefixes[G],[L], and[ERROR]. Now, the lettersG,L, andERRORare displayed without bold styling while retaining their color highlights.
- Removed bold formatting (
-
Clean Code:
- Removed all comments from the code to enhance readability and maintainability.
[0.1.0] - 2024-10-21
Added
-
Local and Global Chat:
- Messages starting with
!are broadcasted globally to all players. - Messages without
!are sent locally to players within a 50-block radius.
- Messages starting with
-
Message Prefixes:
[G]for global messages, whereGis lime-colored.[L]for local messages, whereLis yellow-colored.[ERROR]for error messages, whereERRORis 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
regexsetting to use regular expressions when the API is unavailable.
-
Adult Parameter for Players:
/chatit adultcommand to toggle theadultparameter for players.- Player settings are saved to
config/chatit_player_settings.json. - Default
adultvalue for new players is set in the configuration (default_adult).
-
Message Filtering Based on
adultParameter:- If the sender's
adultis off and the message contains profanity, the message is blocked and only sent to the sender with the[ERROR]prefix. - Players with
adultoff do not see profanity messages from other players. - Players with
adulton can send and receive profanity messages.
- If the sender's
-
Configuration File:
- Created
config/chatit.tomlwith the following settings:host_api: URL of the API for profanity checking.default_adult: Defaultadultvalue for new players (true/false).regex: Use regular expressions when the API is unavailable (true/false).
- Created
-
Asynchronous Processing:
- Interactions with the API are handled asynchronously using
CompletableFuture. - Prevents blocking the main server thread during message checks.
- Interactions with the API are handled asynchronously using
-
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.
- When the API is unavailable and
-
Message Formatting:
- Prefixes
[G],[L],[ERROR]are displayed with proper formatting. - Letters
G,L, and the wordERRORare colored appropriately.
- Prefixes
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.