1.4latestNew Features and Bug FixesAug 26, 2026 X-Chat v1.4 - Changelog
- Database failover — the plugin never requires MySQL/Redis — If the database goes down, X-Chat switches to local-only mode after a configurable number of failed attempts and keeps working normally (chat, tags, formats, PMs, mentions). A background task retries the connection and re-enables cross-server features automatically when the database comes back. No crashes, no freezes, no console spam. NewNew Features
cross-server.failoversection in config.yml (max-failures,retry-interval). - DiscordSRV / bridge plugins see chat again — X-Chat no longer cancels theAsyncPlayerChatEvent; instead it clears the recipients list after its own broadcast. Third-party bridges (DiscordSRV, IRC relays, chat loggers) that listen withignoreCancelled=truewere silently skipping X-Chat messages — now they receive the event normally with no duplicate in-game delivery.
- Update checker logic fixed — Version comparison now understands pre-release suffixes: a release (Bug Fixes
1.3) is no longer reported as outdated against a pre-release (1.3-Beta-10) on Spigot.1.3Error fixesAug 23, 2026 X-Chat v1.3 - Changelog
- Obfuscated text now works — LegacyBugs/Errors Fixes
&kcode is now correctly converted to the MiniMessage<obfuscated>tag. - Fix notification update logic - Fix some bugs with MySQL1.3-Beta-10Bug FixesJul 15, 2026 X-Chat v1.3-Beta-10 - Changelog
- Local links clickable again — Links built directly via Adventure Component API (ClickEvent/HoverEvent) instead of MiniMessage string tags. More reliable parsing. - Cross-server links fixed — Same Component API fix ensures JSON payload carries proper click/hover events. - Mentions formatting works — Mention names built as Adventure Components with Placeholder.component(). Works both locally and cross-server. - Item tag hover/click fixed — Hover tooltips now use real HoverEvent.showText(). Also supports configurable click actions (suggest/run command, copy). - Interactive player name fixed — Name hover/click uses Adventure Component API for reliable rendering.Bug Fixes
1.3-Beta-09Bug FixesJul 13, 2026 X-Chat v1.3-Beta-09 - Changelog
- Fixed local links not clickable — Links are now built directly via Adventure Component API (Bug Fixes
ClickEvent/HoverEvent) instead of embedding MiniMessage string tags. Bypasses any MiniMessage parsing issues with complex nested click/hover tags. - Fixed cross-server link formatting — Same Component API fix ensures the JSON-serialized payload carries proper click/hover events to other servers. - Fixed mentions not formatting — Mention names are now built as Adventure Components and injected viaPlaceholder.component(), guaranteeing correct color/style rendering both locally and cross-server. - Fixed item tag hover/click not working — Item tags now build hover tooltips directly as Adventure Components withHoverEvent.showText(). Previously the hover text was inserted as visible plain text instead of an actual Minecraft hover event. Item tags also support configurable click actions (suggest command, run command, copy to clipboard). - Fixed interactive player name — Player name hover/click in chat format now uses Adventure Component API instead of embedded MiniMessage string tags, for more reliable rendering. - Fixed race condition with interactive name resolver —AsyncPlayerChatEventfires concurrently across threads; the previous instance-field resolver could be overwritten by a second chat before being read. Now passed as a local parameter via anInteractiveNameResultholder. - Hardened cross-server payload delimiter — Switched from\nto\u0001(SOH) between legacy/JSON/pre-mention parts. The old\ndelimiter could be silently corrupted if a player with MiniMessage permission typed<newline>. Receiver auto-detects the delimiter for backward compatibility with older senders. - Improved cross-server reliability — JSON Component serialization now carries proper interactive events since all local Components are built correctly. Added defensiveNoClassDefFoundErrorfallback on the receiver for very old Spigot, and a one-shot warning ifGsonComponentSerializeris missing from the classpath.1.3-Beta-08Error/Bug fixesJul 13, 2026 X-Chat v1.3-Beta-08 - Changelog
- Fixed local links not clickable — Links are now built directly via Adventure Component API (Bug Fixes
ClickEvent/HoverEvent) instead of embedding MiniMessage string tags. Bypasses any MiniMessage parsing issues with complex nested click/hover tags. - Fixed cross-server link formatting — Same Component API fix ensures the JSON-serialized payload carries proper click/hover events to other servers. - Fixed mentions not formatting — Mention names are now built as Adventure Components and injected viaPlaceholder.component(), guaranteeing correct color/style rendering both locally and cross-server. - Fixed item tag hover/click not working — Item tags now build hover tooltips directly as Adventure Components withHoverEvent.showText(). Previously the hover text was inserted as visible plain text instead of an actual Minecraft hover event. Item tags also support configurable click actions (suggest command, run command, copy to clipboard). - Fixed interactive player name — Player name hover/click in chat format now uses Adventure Component API instead of embedded MiniMessage string tags, for more reliable rendering. - Improved cross-server reliability — JSON Component serialization now carries proper interactive events since all local Components are built correctly.1.3-Beta-07Bug/Error fixesJul 12, 2026 X-Chat v1.3-Beta-07 - Changelog
- Fixed local links not clickable + chat format removed — Moved legacy color conversion before system tags to prevent corrupting MiniMessage tags and URL parameters. - Fixed mention colors lost (local + cross-server) — Same pipeline fix preserves mention formatting correctly. - Fixed cross-server hover/click broken — Fixed server prefix deserializer, JSON now preserves all interactive data. - Fixed tags not hoverable cross-server — Tag configs now support both legacy and MiniMessage formats properly.Bug Fixes
1.3-Beta-06Bugs/Errors fixesJul 10, 2026 X-Chat v1.3-Beta-06 - Changelog
- Fixed `IllegalPluginAccessException` on plugin disable —Bugs/Error Fixes
RedisMessagingService.publish()no longer uses the Bukkit scheduler (runTaskAsynchronously), which threw an error when the plugin was shutting down. Now usesCompletableFuture.runAsync()for all Redis publishes, making it safe during the entire plugin lifecycle including disable. - Fixed cross-server mention formatting lost — Mention highlights (color, bold, etc.) were stripped when messages traveled between servers. The cross-server payload now sends MiniMessage source strings instead of JSON-serialized Components, preserving all rich text formatting end-to-end. - Fixed cross-server auto-links not clickable — URLs with<click:open_url>and<hover>events were lost in transit. The new MiniMessage-based transfer preserves click and hover actions on links for Paper servers. - Fixed cross-server interactive player names not working — Hover and click events on player names in chat format were discarded cross-server. Now fully preserved via MiniMessage serialization. - Fixed cross-server tags (`[inv]`, `[pos]`, `[ping]`) losing hover/click — Item tooltips, position data, and ping display with their hover components now transfer correctly to other servers. - Fixed cross-server PM sender name not interactive — Private messages from other servers now show the sender's name with hover info (including their origin server) and click-to-reply action, matching the local PM behavior. - Fixed cross-server mention sound detection — The mention sound now uses pre-mention plain text for reliable player name matching, avoiding false negatives from MiniMessage tags wrapping player names.1.3-Beta-05X-Chat 1.3-Beta-05Jul 9, 2026 X-Chat v1.3-Beta-05 - Changelog
- Per-broadcast cross-server toggle — NewNew Features
cross-server: true/falseoption underbroadcast-settingsinconfig.ymlto control whether/broadcastsends globally or locally only. - Per-broadcast server prefix toggle — Newshow-server-prefix: true/falseoption underbroadcast-settingscontrols whether the[ServerName]prefix is shown on other servers when a broadcast is received. - Mentions now cover player prefix — When a player has a prefix (e.g.[Admin] Fabian), mentioning@Fabianor@[Admin] Fabianwill both trigger the mention highlight and sound. The longer display name is matched first.
- FixedBug Fixes
NullPointerExceptionon cross-server/msg—ConcurrentHashMap.put(null)crash when sending a PM to a player on another server. Added null validation insetLastMessageTarget(). - Fixed/rnot working cross-server — Both the sender's and receiver's server now store the appropriate reply target name, so/rworks correctly in both directions. - Fixed SocialSpy not working — Spy messages were never sent to local players in any cross-server PM path. Added the missing local spy broadcast to all three cross-server PM code paths. Also fixed duplicate spy messages by removing the incorrect publish from the receiver's server. - Fixed URL/link formatting broken cross-server — On Spigot servers, URLs in cross-server messages are now re-processed to display as underlined blue text. On Paper, the JSON component already preserves auto-links. - Fixed Hover/Click components not transmitted cross-server — Cross-server messages on Paper no longer have their JSON component discarded and rebuilt. The original serialized component (with hover events, click actions, and auto-links) is preserved. - Fixed ChatLog cross-server —/chatlognow loads player history from disk for cross-server players whose data isn't in memory, fixing empty results. - Fixed Join/Leave double server prefix — Removed the redundant[ServerName]prefix from cross-server join and quit messages.1.3-Beta-04New features and bug fixesJul 8, 2026 X-Chat v1.3-Beta-04 - Changelog
- Default connection guard — IfNew Features
cross-server.storageis set tomysql,redisorbothbut the connection settings are still at default values (localhost, empty password), the plugin will not attempt to connect and will fall back toyamlwith a warning in console instead of throwing an error.
- Fixed config auto-merge not triggering for existing configs — bumpedBug Fixes
config-codeto5.1.3-Beta-03New features and bug fixesJul 8, 2026 X-Chat v1.3-Beta-03 - Changelog
- Cross-server join/quit messages — Join and quit messages are now published via Redis pub/sub and displayed on all connected servers. Toggle withNew Features
cross-server.join-quit.enabledinconfig.yml. - Cross-server player list sync — Player online/offline events are synced across servers via thexchat:playerlistRedis channel, enabling global tab-completion and player lookups. - Configurable server prefix — The[ServerName]prefix on cross-server messages can now be enabled/disabled and customized with colors usingcross-server.server-prefix.formatinconfig.yml.
- Fixed cross-server message payload format — unified toBug Fixes
serverName|senderUUID|senderName|message(4 parts) across all channels. - Fixed "both" storage mode overwriting MySQL with Redis — MySQL is now the primary storage, Redis is used for pub/sub messaging only. - Fixed incoming cross-server messages being ignored — aMessageHandleris now properly registered to process incoming chat, PM, spy, broadcast, join, and quit messages. - Fixed Social Spy state and reply target not being restored from Redis/MySQL when a player rejoins. - Replaced direct casts toRedisMessagingServicewithplugin.getMessagingService()interface calls.1.3-Beta-02Error fixesJul 7, 2026 X-Chat v1.3-Beta-02 - Changelog
- Add missing component (commons-pool2)Error fixes
1.3-Beta-01New features and bug fixesJul 7, 2026 X-Chat v1.3 - Changelog
- Redis + MySQL cross-server support: Chat, private messages, social spy, and broadcasts now work across multiple servers. Choose betweenNew Features
yaml(single-server),redis,mysql, orboth(MySQL storage + Redis messaging) inconfig.yml. Messages from other servers show a[ServerName]prefix, ignore lists and spy states sync across servers, and player data is restored on join. - Debug system: New/xchat debugcommand to toggle debug mode at runtime, plus aDebugLoggerthat logs detailed internal operations for easier troubleshooting. - PlaceholderAPI expansion: Added%xchat_ignored_count%,%xchat_is_spying%, and%xchat_chat_history_size%placeholders. - Config auto-update with backup: When the config version changes, the old config is backed up asconfig_old.ymlbefore generating the new one. - Adventure MiniMessage color support: Internal color system upgraded to use Adventure's MiniMessage for better formatting. - Shared dependency directory: Libby now downloads runtime libraries toplugins/X-API/so all X plugins share dependencies instead of each having their own copy. - Updated startup messages with standardized logging format. - Tab-completion command hiding: Own namespaced commands (xchat:*,x-chat:*) are now hidden from player tab-completion. - Standardized plugin lifecycle (onEnable/onDisable) for improved stability and error handling.
- Debug messages now include the plugin name in the format:Bug Fixes
[DEBUG] [X-Chat] [Category] message.1.2New FeaturesJun 7, 2026 X-Chat v1.2 - Changelog
- Friendly Error Messages: Unknown commands no longer show ugly server errors. Players now see a clean message like "Command not found: /hola. Use /xchat help to see available commands." — fully customizable from config.yml under the newNew Features
errorssection, with support for MiniMessage colors and %prefix% placeholder. - New placeholder %prefix% for the plugin1.1Update chekerJun 1, 2026 X-Chat v1.1 - Changelog
- Update cheker systemNew Features
1.0The initJun 1, 2026 The init of X-Chat
Similar projects
Plugin →VeinMiner
Mine the whole vein on mining a single ore/block. Make the tedious mining experience to something satisfying and fun! FTB Ultimine alternative
99.3MSueta
Simple Voice Chat
A working voice chat in Minecraft!
76.8MSueta
Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
Chunky
Pre-generates chunks, quickly and efficiently
18.4MSueta
VeinMiner Enchantment
Veinminer Addon - Adds vineminer enchantment to enchanting tables. Only tools with the enchantment can veinmine
18MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta