xChat
An advanced chat plugin with formatting, ignore, and PMs/MSG
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
xChat

xChat - Your Ultimate Chat Solution
`〢Use ProtocolLib`
xChat - Advanced and Professional Chat Formatting Tired of basic and outdated chat plugins? xChat is here to completely transform communication on your server. This plugin doesn't just format the chat; it turns it into an interactive, modern, and fully customizable experience.
From rank-based formats and interactive text when hovering over to a complete private messaging system with quick replies and socialspy, xChat is designed to be the only chat tool you'll ever need.
⭐ Main Features ⭐ ✅ Professional Chat Formatting
Hex/RGB Colors: Use the full Minecraft color palette! (&#RRGGBB).
Full PlaceholderAPI Support: Show any player statistics directly in the chat.
Rank-based Formats (via Vault): Perfect integration with LuckPerms and other permission plugins to show prefixes and group formats.
Interactive Hover Text: Show detailed player stats (money, hours played, etc.) just by hovering over their name.
Click to Whisper: Click on a player's name in the chat to instantly start a private message.
✅ Advanced Private Messaging System
Customizable Formats: Set how the sent and received messages look.
Quick Reply Command (/r): Reply to the last private message with a single command. Essential for your users!
Notification Sounds: A small sound when receiving a message to ensure it doesn't get missed.
✅ Staff and Server Tools
Social Spy (/socialspy): Allows staff members with permissions to monitor private messages to keep the community safe.
Ignore System (/ignore): Allows users to persistently ignore other players.
Anti-Spam: Prevents chat flooding with a configurable cooldown between messages.
Update Notifier: Alerts in the console when a new version of xChat is available on Modrinth.
✅ Optimization and Compatibility
Lightweight and Optimized: Built on the Paper API and using packets with ProtocolLib for maximum performance.
100% Customizable: Absolutely all messages, formats, and functions can be adjusted from the generated config.yml.
Anonymous Statistics with bStats: To help us understand how the plugin is used and improve it.
🖼️ Plugin Previews



🔧 Commands and Permissions ```yaml Comando Alias Permiso Descripción /xchat reload /xc reload xchat.reload Recarga la configuración del plugin. /xchat help /xc help (Ninguno) Muestra la ayuda principal. /msg <jugador> /tell, /w (Ninguno) Envía un mensaje privado. /reply <msg> /r <msg> (Ninguno) Responde al último mensaje privado. /ignore /ign (Ninguno) Gestiona tu lista de ignorados. /socialspy /spy xchat.socialspy Activa/desactiva el espía de PMs. (Bypass Spam) - xchat.antispam.bypass Permite saltarse el cooldown del chat. ```
Export to Spreadsheets 🔌 Required Dependencies To make xChat work with its full potential, you need to install these three plugins:
Vault: For permission and economy plugin integration.
PlaceholderAPI: To use the thousands of available placeholders.
ProtocolLib: For advanced feature functionality.
🐠Config.YML ```yaml
___
__ __ / __ |__ __ | |
/ // / | ' / ` | __| Plugin by
> </ /___| | | | (| | | xPlugins inc
/_/_____/|| ||__,_|__|
#
🐠 Wiki: http://xchat.willfry.net/
💥 Discord: https://discord.gg/9khbRDhPCS
This is the default chat format if a player doesn't have a specific group format.
Works with PlaceholderAPI: https://github.com/PlaceholderAPI/PlaceholderAPI/wiki/Placeholders
chat-format: "%vault_rank% %player_name%&7 ▸ &f%message%"
Format by LuckPerms groups (via Vault).
The group name (e.g., 'vip') must be the same as in your permissions plugin.
groups: vip: "&b&lVIP &b%player_name% &7▸ &f%message%"
Format with HOVER when hovering over the name.
This format takes priority over 'groups' and 'chat-format' formats.
hover-format: default: description: "&7▸ MC3FFPlayer stats &n%player_name%&r" lines: - "&8▸ Personal information ◂" - "" - "&fPlayer name: "D399%player_name% ✔" - "&fJoined: "D399%player_first_join_date%" - "" - "&8 • &fTotal coins: "D399%vault_eco_balance_formatted%" - "&8 • &fHours played: "D399%statistic_hours_played%" - "&8 • &fCurrent guild: &#FCA5A5None" - "&8 • &fCurrent partner: &#FCA5A5None" - "" - "MC3FF!&nClickMC3FF to send message!" click: "/msg %player_name% " format: "&#C084FC%changeoutput_equals_input:default_matcher:{vault_rank}_ifmatch:&#FF0000Get it!_else:{vault_prefix}% &#E5E7EB%player_name%"
PRIVATE MESSAGES (/msg, /r, /socialspy)
#
// ___ __ _
/ / __|/ _` | Idea by
/ // __ (_| | xPlugins
/ /___/__, |
|___/
pm:
Format that both players see. Placeholders adapt to the sender and receiver.
%player_name% will be the sender, %essentials_nickname% will be the receiver (or vice versa).
format: sender: "&#FCD05C✉ Messages! &8▸ &fFrom &#FCD05C%sender_name% &fa &#FCD05C%receiver_name%&7 ▸ &f%message%" receiver: "&#FCD05C✉ Messages! &8▸ &fFrom &#FCD05C%sender_name% &fa &#FCD05C%receiver_name%&7 ▸ &f%message%"
Sound the receiver hears when receiving a message.
List of sounds: https://jd.papermc.io/paper/1.20/org/bukkit/Sound.html
sound: "ENTITY_EXPERIENCE_ORB_PICKUP"
System for staff to view private messages.
social-spy: enabled: true format: "&8[&cSPY&8] &#FCD05C%sender_name% &8▸ &#FCD05C%receiver_name% &8▸ &f"
Configurable messages for the MSG / Pm system.
messages: usage: "&cUse it like this: /{label} <player> <message>" reply_usage: "&cUse it like this: /{label} <message>" player-not-found: "&cThat player is not online." cannot-message-self: "&cYou cannot message yourself." no-reply-target: "&cYou have no one to reply to." social-spy-on: "&aSocialSpy enabled. You will now see private messages." social-spy-off: "&cSocialSpy disabled."
HELP MESSAGES (/xchat help, /ignore help)
// ___ __ _
/ / __|/ _` | Idea by
/ // __ (_| | xPlugins
/ /___/__, |
|___/
help-message: xchat: - "&7-------&f xChat Help &7------" - "" - "&#AEC6CF> /xchat help 󖣃➛&f Displays this help message." - "&#AEC6CF> /xchat reload 󖣃➛&f Reloads plugin configuration." - "" - "&7---------------------------------------" ignore: - "&7-----------------&f Ignore Help &7--------------------" - "" - "&#AEC6CF /ignore help 󖣃➛&f Displays this help." - "&#AEC6CF /ignore list 󖣃➛&f See who you are ignoring." - "&#AEC6CF /ignore add <player> 󖣃➛&f Start ignoring them." - "&#AEC6CF /ignore remove <player> 󖣃➛&f Stop ignoring them." - "" - "&7---------------------------------------"
IGNORE SYSTEM (/ignore)
_____
_ __ __ ___ _ __ ___
/ // ` | ' / _ | '__/ _ Idea by
// /| (| | | | | (_) | | | __/ xPlugins
____/ __, || ||___/|_| ___|
|___/
ignore: enabled: true storage: "ignores.yml" messages: added: "&aYou are now ignoring &f%target%." removed: "&eYou are no longer ignoring &f%target%." not_found: "&cPlayer not found." usage: "&eUsage: /ignore <help|list|add|remove|toggle> [player]" cannot_ignore_self: "&cYou cannot ignore yourself." list_empty: "&7You are not ignoring anyone." list_header: "&6Ignoring:" list_format: "&7- &f%target%"
Anti Spam
_ __
/ __ | |() / __ __ __ __ ___
//\| ' | __| |_____ | ' / ` | ' ` Idea by
/ | | | || |_____| |) | (| | | | | | | xPlugins
/ /| ||__|_| __/ .__/ __,|| || ||
|_| 1.0.0
anti-spam: enabled: true delay-seconds: 3 message: "&#ff0000 ⚠ Slow down! You must wait %time% second(s) before chatting again."
GENERAL PLUGIN MESSAGES
// ___ __ _
/ / __|/ _` | Idea by
/ // __ (_| | xPlugins
/ /___/__, |
|___/
plugin-messages: reload: "Ke25f ✔ Hey! xChat configuration has been reloaded!" no-permission: "&#ff2c2c ☀ Oops! You don't have permission to run this command!"
UPDATE NOTIFIER
/ / _ __ __| | __ | | ___
/ / ' / ` |/ _` | __/ _
/ / |) | (| | (| | || __/
___/| .__/ __,_|__,_|_____|
|_| 1.0.0
update-checker: enabled: true ``` ⚙️ Installation
Download the xChat .jar file.
Make sure you have the 3 dependencies above installed.
Place all the .jar files in your server's plugins folder.
Start or restart the server.
Configure everything to your liking in the generated config.yml file!
❤️ Support and Credits Created with love by WillfryDev (xPlugins inc.).