Embellish Chat v2.1.0 Changelog
From v2.0.0 to v2.1.0, the mod's core architecture has been completely redesigned into a Rule-Based System based on the config.json file. As a result, almost all features have been changed to be customizable.
-
Major Overhaul of Configuration System and Architecture:
- The existing hard-coded mention system in v2.0.0 (e.g., logic for
@everyone,@here,@team) has been completely replaced with a system that definesMentionRuledirectly inconfig.json. - The
StylingRulerecord in v2.0.0 had a(Pattern, StyleType, String option)structure, but in v2.1.0, it has been changed to a(Pattern, List<StyleAction> styles)structure. - Due to this change, it is now possible to apply multiple styles (e.g., bold + underline + color) simultaneously to a single regex pattern using a list of
StyleAction. - Most of the hard-coded configuration values in
Config.java, such asmentionEnabled,groupMentionOpOnly,offlineColorEnabled, andhereRadius, have been removed and integrated into the rule definitions inconfig.json.
- The existing hard-coded mention system in v2.0.0 (e.g., logic for
-
Support for Fabric Permission System:
- Integration with the Fabric Permissions API and LuckPerms has been added.
- The keys in the
stylingRulesandmentionRulesmaps inconfig.json(e.g., "chat", "command", "mention") now represent permission nodes. - The mod checks the player's permissions and applies all rules for the permissions they possess, stacking them in the order defined in
config.json.
-
New Features Added:
- Four new
StyleTypes have been added:REPLACE: Replaces the text with a different string.MASK: Masks the text with a specific character.UPPER: Converts the text to uppercase.LOWER: Converts the text to lowercase.
- A new
MentionType,LUCK_PERMS_GROUP, has been added, allowing mentions to target specific LuckPerms groups. - New commands,
/ec help_mentionand/ec help_style, have been added for players to check the rules applicable to them (no OP level required).
- Four new
-
Detailed Improvements and Miscellaneous Changes:
-
A
delimitersetting has been added toconfig.json. It is used to separate multiple style options (e.g., rainbow saturation and font ID) when received from a single pattern. -
A
timestamp(timestamp format) setting has been added toconfig.json. Users can now specify the time format displayed for theMETADATAstyle. -
The
Timestamp.javautility class has been removed in v2.1.0. Its logic has been integrated intoStyleRegistryand uses the newtimestampsetting. -
The
TeamColor.javautility has been refactored. In v2.0.0, it had a direct dependency onConfigManager, but in v2.1.0, it now accepts anInteger presetas a parameter, removing the dependency and becoming a pure utility class. -
The
COLOR_RAINBOWstyle has been improved to accept an option, allowing saturation to be adjusted via apresetvalue (e.g., "0.7"). -
The content copied when clicking the
METADATAstyle has been improved to include the (configurable) timestamp and the original message content. -
New documentation files,
StyleWiki.mdandMentionWiki.md, have been added to explain the new features and rule system. -
TPS latency test results for v2.1.0 (
Latency per message v2.1.0.xlsx - Sheet1.csv) have been added. -
The regex has been improved, and the character-corruption bug from v2.0.0 has been fixed. (Previously, when parsing text where FONT or URL appeared after COLOR_HEX, the URL was applied incorrectly and caused characters to break.)
-
For more details, see the README.
-
Major Overhaul of Configuration System and Architecture:
- The existing hard-coded mention system (e.g.,
@everyone,@here) has been completely replaced with aMentionRule-based system defined directly inconfig.json. - The structure of
StylingRulehas been changed to use aList<StyleAction>, allowing multiple styles (e.g., bold + color) to be applied simultaneously with a single regex pattern.
- The existing hard-coded mention system (e.g.,
-
New Features Added:
- New style types have been added, including
REPLACE(text replacement),MASK(text masking),UPPER(uppercase), andLOWER(lowercase). - Added
LUCK_PERMS_GROUPmention type. - Added
/ec help_mentionand/ec help_stylecommands for players to check applicable rules.
- New style types have been added, including
-
supports the permission features of the Fabric Permissions API. he keys in stylingRules and mentionRules represent each permission (such as chat, command, mention, etc.). These keys are default keys, and the system works even if they are not explicitly defined.The mod checks from top to bottom and applies the rules registered for each permission.
-
Miscellaneous:
- Added
delimitersetting for distinguishing multiple options in rules.
- Added
more detale README
This version does not support the text shadow feature.
-
The mod’s settings have become more detailed.
- The mod's configuration method has changed significantly. Instead of the previous simple Boolean enable/disable system, it now allows defining
StylingRules based on regular expressions (Regex) directly inconfig.json. - This separates the style application logic into
StylingProcessorandStyleRegistry, enabling users to customize styles in detail for various areas, including commands as well as chat.
- The mod's configuration method has changed significantly. Instead of the previous simple Boolean enable/disable system, it now allows defining
-
Styling is now applied to commands that take Text Arguments.
- Markdown-style formatting is now also applied to vanilla commands that take JSON text components directly as arguments, such as
/title,/tellraw,.
- Markdown-style formatting is now also applied to vanilla commands that take JSON text components directly as arguments, such as
-
Added
Color (Shadow)style.- A feature has been added to specify a shadow color for text (e.g.,
[text]<SD:#RRGGBB>).
- A feature has been added to specify a shadow color for text (e.g.,
-
The mod’s settings have become more detailed.
-
@everyone,@here, and@teamhave been added.
-
Added /embellish_chat ban and /embellish_chat pardon commands to restrict or restore access to styling features.
-
Introduced a new option offlineColorEnabled that allows you to choose whether the mention color for offline players should follow their team color or use the default color.
From now on, you can use the rainbow feature as a constant. This feature has been an Easter egg since version 1.2.2, and in previous versions, it also activates when you set defaultChatColor to a value less than 0.
Full Whisper Support: You can now freely use all styling features like bold, color, and links when whispering to a friend (/w, /msg, etc.).
Create Your Own Colors: By editing the defaultColorPreset in the embellish_chat.json config file, you can now name your own colors and use them like [Hello]<my_color>.
Mention Notification Customization: You can now change the pitch of the mention notification sound (defaultMentionPitch) and the message that appears (defaultMentionMessage) in the config file.
Other Changes:
The chat color syntax has been unified to the [text] format. The <> now supports both custom color names (e.g., red) and the existing #hex_code format.


