The update from v2.3.0 to v2.4.0 focuses on expanding interactivity with new style types, introducing world-specific mentions, and decoupling the notification system from external dependencies for better accessibility.
New Features & System Changes
- New Style Types (Advanced): Three new style types have been added to support richer chat formatting:
HOVER_ITEM: Displays the tooltip of the item held in the player's main hand when hovering over the text.JSON: Allows the insertion of raw JSON text components for complex formatting.COMMAND_RUN: Immediately executes a command when the text is processed (triggered automatically, not via click).
- New Mention Target: The
@world(name)target has been added, allowing users to mention all players within a specific world (dimension).
Configuration (config.json) Changes
- Notification System Overhaul: The mention notification toggle is no longer dependent on LuckPerms metadata.
- Notification Storage: A new
notificationOffPlayerListfield has been added to the config. This stores the UUIDs of players who have disabled notifications via/ec notification, allowing the feature to work independently of permission plugins.
Improvements and Bug Fixes
- Internal Refactoring: The mention parsing logic has been significantly simplified. Separate data handling classes have been unified into clean
MentionandTargetrecords, improving code maintainability. - Performance Optimization: The processing logic in
MentionProcessorandStylingProcessorhas been streamlined for better efficiency.
The update from v2.2.0 to v2.3.0 focuses on major enhancements to customization and interactivity, integrating the Text Placeholder API, overhauling the mention notification system, and adding new interactive style types.
Integration & System Changes
- Text Placeholder API Integration: The mod now integrates with the Text Placeholder API, allowing for dynamic text in various parts of the mod.
- Placeholders (e.g.,
%player:displayname%) can be used in thetitlefield of mention rules. - Placeholders are also parsed in style rule
presetvalues and user-provided options.
- Placeholders (e.g.,
- New Style Types (Interaction): Three new style types have been added to create interactive text:
CLICK_COMMAND_RUN: Executes a command when the text is clicked.CLICK_COMMAND_SUGGEST: Suggests a command in the player's chat bar when clicked.HOVER_TEXT: Displays a custom tooltip text on hover.
Command Changes
- The primary administrator command has been renamed for consistency:
/embellish_chat(with an underscore) is now/embellish-chat(with a hyphen). - The maximum count for the
/embellish-chat test stresscommand has been increased from 500 to 1000.
Configuration (config.json) Changes
- Mention Notification Overhaul: The global
mentionSound,mentionPitch,mentionTitlePrefix, andmentionTitleSuffixfields have been removed from the config root. - These settings (
sound,pitch,title) are now configured individually within each rule in thementionRuleslist. This allows for rule-specific notifications (e.g., a different sound for@everyonevs.@team). - Notification Command Control: A new boolean field,
notificationCommandEnable, has been added. This allows server administrators to control whether players can use the/ec notificationcommand to toggle their own mention alerts. - Color Format: Color values in the config (e.g.,
urlColor,mentionColor) are now stored as hex strings (e.g.,#FF55FF) and internally parsed asjava.awt.Colorobjects, rather than the previous hex integer format.
Improvements and Bug Fixes
- Performance Optimization: The
bannedPlayerListhas been converted from aListto aHashSet. This provides more efficient O(1) lookups, improving performance when checking every message. - Stress Test Correction & Performance: This version corrects an issue where previous stress tests were measuring performance inaccurately, causing results to appear better than they were. With the test methodology now fixed, internal algorithm optimizations in v2.3.0 have ensured that performance remains similar, with a notable reduction in maximum latency under heavy load.
- Updated Performance Data: New latency test results (CSV and graph) reflecting these optimizations and the corrected measurements have been provided for v2.3.0.
Embellish Chat v2.2.0 Changelog
The update from v2.1.0 to v2.2.0 enhances stability and functionality, featuring strengthened LuckPerms integration, new testing and user convenience features, and the introduction of a version management system for the configuration file.
-
New Commands Added:
- Test commands have been added for server administrators (OP level 2):
/embellish_chat test regex <regex> <test>: Compiles and tests if the regular expression matches the test string./embellish_chat test stress <count> <test>: Tests the mod's performance (load) by sending a fake message the specified number of times.
- The
/ec notificationcommand has been added, available to all players.- This command allows players to set whether they receive notifications (sound and title) when mentioned.
- This feature only works if LuckPerms is installed on the server.
- Test commands have been added for server administrators (OP level 2):
-
Command Changes:
- The existing
/ec help_mentionand/ec help_stylecommands have been changed to/ec help mentionand/ec help style.
- The existing
-
LuckPerms Integration & Notification System:
- A new utility class (
LuckPermsUtil.java) has been added to utilize the LuckPerms API. - The value set by the
/ec notificationcommand is stored in the user's LuckPerms metadata (embellish-chat-notification). - Before sending a mention notification, the mod now checks if the target player has notifications enabled (
LuckPermsUtil::getNotification). Mention notifications (sound, title) will not be sent to users who do not have LuckPerms or have disabled notifications. - The
LUCK_PERMS_GROUPmention type (@group(...)) has been added as a default rule in the configuration file.
- A new utility class (
-
Configuration (config.json) Changes:
- A
versionfield has been added toconfig.json. - When the mod loads, it compares the
config.jsonversion with the mod's version. If they do not match, the config file is considered incompatible, and the default config is loaded with a warning. - The default keys (permission nodes) for
stylingRulesandmentionRuleshave been changed to a namespaced format (e.g., "chat" -> "embellish_chat.chat", "command" -> "embellish_chat.command_argument"). - The default
delimiterfor separating multiple style options has been changed from-(hyphen) to,(comma).
- A
-
Improvements and Bug Fixes:
- Improved exception handling in
StyleRegistry. When processingCOLOR_HEX,COLOR_RAINBOW,COLOR_SHADOW, etc., invalid values (null or incorrect format) will now log a warning instead of crashing the server.
- Improved exception handling in
Fixed a bug where /ec help_mention could not be used.
This version cannot use the shadow feature.Important: This version uses LuckPerms’ built-in permission system instead of the Fabric Permissions API. Therefore, the LuckPerms mod is required. Fixed a bug where /ec help_mention could not be used.


