
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
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
# ___ _ _
# __ __ / __\ |__ __ _| |_
# \ \/ // / | '_ \ / _` | __| 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.).
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
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
WorldEdit
A Minecraft Map Editor... that runs in-game! With selections, schematics, copy and paste, brushes, and scripting. Use it in creative, or use it temporarily in survival.
11.6MSueta