
X-Chat
A plugin to easily manage chat
- Загрузки
- 82
- Подписчики
- 0
- Обновлён
- 12 июля 2026 г.
- Лицензия
- MIT
Опубликован 30 мая 2026 г.
📝 Description
X-Chat is a comprehensive chat management plugin that gives you full control over your server's chat experience. From priority-weighted formats and interactive hover/click effects to real-time moderation filters and custom emojis — everything is configurable from YAML files. Supports all major color formats and gracefully handles both Paper and Spigot servers. Compatible with Minecraft 1.18+.
✨ Features
- Priority-based Format System: Create unlimited chat formats (admin, vip, default, etc.) with numeric priorities. The highest-priority format the player has permission for is automatically selected. Each format has independent color permissions (legacy, hex, MiniMessage).
- Full Color Format Support: MiniMessage (
<red>,<gradient>), Legacy (&c,&l), Hex (&#FF0000), BBCode ([BOLD],[COLOR=#hex]), and HTML shorthand (<b>,<i>,<u>,<s>) — all auto-converted seamlessly. - Interactive Player Names: Hover over a player's name to see custom info (rank, ping, etc. via PlaceholderAPI). Click to execute configurable actions (suggest command, run command, open URL, copy to clipboard). Works with all formats.
- Auto-Mentions: Automatically detects when a player mentions another by name in chat. Highlights the mentioned name with a custom gradient format and plays a configurable sound. Supports optional
@prefix requirement. - Smart Moderation Suite: Anti-Spam (configurable cooldown), Anti-Caps (percentage threshold with auto-lowercase or block), Anti-Advertising (regex-based IP and Discord link detection), and Smart Censor (partial
w**dor full****word censoring). Each filter has its own bypass permission. - Dynamic Chat Tags:
[item]— shows held item with hover tooltip (name, amount, durability, enchantments).[pos]— displays coordinates with click-to-copy.[ping]— shows player latency. All individually configurable with their own YAML files. - Custom Emoji System: Define text shortcuts that are replaced with emojis or formatted text. Supports MiniMessage in emoji values. Permission-gated or open to everyone.
- Auto-Links: URLs in chat are automatically converted to clickable links with configurable hover text.
- Private Messaging System:
/msg,/r(reply) — usable by all players by default. Includes SocialSpy for staff, ignore system with persistence, and self-message prevention. - Chat History: Per-player message log saved in memory and disk. View with
/chatlogor/historywith paginated output. - Custom Join/Leave Messages: Configurable join, leave, and first-join messages with MiniMessage and PlaceholderAPI support. Cancels default Bukkit messages.
- Auto-Broadcaster: Timed announcements with random or sequential order, configurable sounds, and multi-line MiniMessage support.
- Custom Death Messages: Per-cause death messages (PvP, fall, drown, fire, lava, void, explosion, cactus, lightning, magic, projectile, etc.) with MiniMessage formatting.
- Placeholders in Messages: Allow players to use PlaceholderAPI placeholders directly in their chat messages (configurable with permission).
- 6 Language Files: EN, ES, PT, JA, RU, and CUSTOM — switch languages at runtime with
/xchat locate. - Dynamic Command Registration: All commands (names and aliases) are defined in
config.yml— no need to editplugin.yml. Changes apply on reload. - Config Auto-Updater: Detects outdated configurations, creates a backup, and rebuilds automatically on startup.
- Paper & Spigot Compatible: Hover, click, and interactive effects work natively on Paper. On Spigot, they are automatically stripped to plain text — no errors, no crashes.
- Folia Supported: Fully compatible with Folia's regionized threading.
🖥️ Compatibility
| Software | Supported |
|---|---|
| Bukkit / Spigot / Paper / Purpur | ✅ |
| Folia | ✅ |
| PlaceholderAPI | ✅ (soft) |
| Vault | ✅ (soft) |
| Minecraft | 1.18 → 1.21+ |
🛠️ Main Commands
/msg <player> <message>
Sends a private message to a player. Usable by everyone by default.
/r <message>
Replies to the last player who sent you a private message. Usable by everyone by default.
/clearchat
Clears the chat for all online players.
/socialspy
Toggles SocialSpy mode — see all private messages sent between players.
/ignore <player>
Ignores a player. You will no longer see their messages or receive messages from them. Persistent across restarts.
/sudo <player> <command/message>
Forces a player to execute a command or send a chat message.
/chatlog <player> [page]
View a player's recent chat history with paginated output.
/broadcast <message>
Send a global announcement to all online players with a custom format.
/xchat [subcommand]
help— Shows the help menu.reload— Reloads all YAML configurations.version— Shows the current version info.update— Manually check for updates.locate <language>— Changes the plugin language at runtime.
🛡️ Permissions
Chat Formats
xchat.format.admin— Use the admin chat format. (default: none)xchat.format.vip— Use the VIP chat format. (default: none)xchat.format.default— Use the default chat format. (default: none)
General
xchat.colors— Master permission to use ALL color types (legacy, hex, MiniMessage). (default: op)xchat.tags.all— Master permission to use ALL interactive tags. (default: none)
Commands
xchat.command.clear— Use/clearchat. (default: op)xchat.command.spy— Use/socialspy. (default: op)xchat.command.ignore— Use/ignore. (default: op)xchat.command.sudo— Use/sudo. (default: op)xchat.command.history— Use/chatlog. (default: op)xchat.command.broadcast— Use/broadcast. (default: op)
Administration
xchat.admin— Use/xchatadmin commands. (default: op)
Filter Bypass
xchat.bypass.spam— Bypass anti-spam cooldown. (default: none)xchat.bypass.caps— Bypass anti-caps filter. (default: none)xchat.bypass.advertising— Bypass anti-advertising filter. (default: none)xchat.bypass.blocked-words— Bypass blocked-words filter. (default: none)xchat.bypass.grammar— Bypass auto-grammar corrections. (default: none)
Features
xchat.placeholders— Use PlaceholderAPI placeholders in chat messages. (default: none)xchat.emojis— Use custom emojis in chat. (default: none)xchat.tags.click— Use click tags in chat. (default: none)xchat.tags.hover— Use hover tags in chat. (default: none)xchat.tags.insert— Use insert tags in chat. (default: none)xchat.tags.font— Use font tags in chat. (default: none)
Tip:
/msgand/rhave no permission by default — all players can use them. You can add a permission inconfig.ymlto restrict access.
Need help? Join our [Discord](https://ptb.discord.com/invite/Yb6GsfGWmd) or report issues in the discussion section.
Ченджлог
1.3-Beta-07Бета26.1.1, 26.1.2, 26.2 · 12 июля 2026 г.
🚀 X-Chat v1.3-Beta-07 - Changelog
⚙️ Bug Fixes
- 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.
1.3-Beta-06Бета26.1.1, 26.1.2, 26.2 · 10 июля 2026 г.
🚀 X-Chat v1.3-Beta-06 - Changelog
🐛 Bugs/Error Fixes
- Fixed
IllegalPluginAccessExceptionon plugin disable —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-05Бета26.1.1, 26.1.2, 26.2 · 9 июля 2026 г.
🚀 X-Chat v1.3-Beta-05 - Changelog
✨ New Features
- Per-broadcast cross-server toggle — New
cross-server: true/falseoption underbroadcast-settingsinconfig.ymlto control whether/broadcastsends globally or locally only. - Per-broadcast server prefix toggle — New
show-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.
🐛 Bug Fixes
- Fixed
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-04Бета26.1.1, 26.1.2, 26.2 · 8 июля 2026 г.
🚀 X-Chat v1.3-Beta-04 - Changelog
✨ New Features
- Default connection guard — If
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.
🐛 Bug Fixes
- Fixed config auto-merge not triggering for existing configs — bumped
config-codeto5.
1.3-Beta-03Бета26.1.1, 26.1.2, 26.2 · 8 июля 2026 г.
🚀 X-Chat v1.3-Beta-03 - Changelog
✨ New Features
- Cross-server join/quit messages — Join and quit messages are now published via Redis pub/sub and displayed on all connected servers. Toggle with
cross-server.join-quit.enabledinconfig.yml. - Cross-server player list sync — Player online/offline events are synced across servers via the
xchat: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.
🐛 Bug Fixes
- Fixed cross-server message payload format — unified to
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 — a
MessageHandleris 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 to
RedisMessagingServicewithplugin.getMessagingService()interface calls.
1.3-Beta-02Бета26.1.1, 26.1.2, 26.2 · 7 июля 2026 г.
🚀 X-Chat v1.3-Beta-02 - Changelog
⚙️ Error fixes
- Add missing component (commons-pool2)
1.3-Beta-01Бета26.1.1, 26.1.2, 26.2 · 7 июля 2026 г.
🚀 X-Chat v1.3 - Changelog
✨ New Features
- Redis + MySQL cross-server support: Chat, private messages, social spy, and broadcasts now work across multiple servers. Choose between
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 as
config_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 to
plugins/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.
🐛 Bug Fixes
- Debug messages now include the plugin name in the format:
[DEBUG] [X-Chat] [Category] message.
1.2Релиз26.1, 26.1.1, 26.1.2 · 7 июня 2026 г.
🚀 X-Chat v1.2 - Changelog
✨ New Features
- 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 new
errorssection, with support for MiniMessage colors and %prefix% placeholder. - New placeholder %prefix% for the plugin
Комментарии
Загружаем…