Compatibility
Minecraft: Java Edition
26.2
26.1.x
1.21.1–1.21.11
1.20.x
1.19.x
1.18.x
1.17.x
1.16.x
1.15.x
1.14.x
1.13.x
Platforms
Links
Tags
Creators
Details
Licensed BSD-2-Clause
Published 2 weeks ago
Updated last month
🥭 MangoChat – The Ultimate Chat Management Suite
🚀 Revolutionize Your Server's Chat Experience
MangoChat is a powerful, feature‑rich, and lightweight chat management plugin that gives you complete control over your server's communication. Built for performance and total customisation, it turns ordinary chat into an engaging, secure, and interactive hub for your community.
- Soft Depends :
- ProtocolLib
- ItemsAdder
- PlaceholderApi
- Vault (recommanded to install)
MangoChat PlaceholderAPI Placeholders Format: %mangochat_<identifier>%
| Placeholder | Description | Example Output |
|---|---|---|
| %mangochat_nickname% | Player's display nickname | WortarDev |
| %mangochat_tag% | Player's current tag (from TagManager) | [Legend] |
| %mangochat_rank% | Player's primary group from Vault | VIP |
| %mangochat_muted% | Whether the player is muted | Yes / No |
| Notes: |
- Case-insensitive.
- %mangochat_rank% requires Vault.
- Others work natively with MangoChat.
✨ Key Features
🎨 Advanced Chat Formatting
- Rank‑based formats with full RGB gradients (
<gradient:#HEX:#HEX>) - Hover messages that display player info
- Click‑to‑reply functionality
- Message deletion with permission control
- Hex colour support (
&#RRGGBBand<#RRGGBB>)
🏷️ Tag System
- Custom tags with a GUI selector
- Permission‑based tags for ranks
- Gradient & hex support in tags
- Intuitive GUI for players

👤 Nickname System
- Custom nicknames with colour support
- Min/max length restrictions
- Blacklist functionality
- Permission‑based colour usage
🛡️ Anti‑Spam & Protection
- Anti‑Swear with actions: WARN, CENSOR, CANCEL, KICK
- Anti‑Spam with cooldown and similarity detection
- Anti‑Command‑Spam to prevent command abuse
- Anti‑Ads with custom patterns and whitelist
- Bypass permissions for trusted players
😊 Emoji System
- Custom shortcodes (
:heart:→ ❤) - ItemsAdder integration for custom icons
- Deletable emojis configuration
- Easy for players to use
🛡️ Staff Tools
- Staff Chat, Admin Chat, Developer Chat
- HelpOp system with staff notifications
- Social Spy to monitor private messages

⚖️ Mute System
- Temporary mutes with duration
- Broadcast mute notifications
- Permission bypass for staff
- Reason support for transparency
📊 Report System
- Player reporting with cooldown
- Daily report limits
- Staff notifications + Discord webhook support
- Report management commands
🎮 Chat Games (Optional)
- Unscramble – word puzzles
- Math – quick calculations
- Typing – speed‑typing contests
- Automatic or manual control
#########################################################
# MangoChat #
# Full Chat Management Suite #
# by WortarDev #
#########################################################
settings:
update-checker: true
metrics: true
debug: false
# Default color used when a message uses &h with no rank format assigned
default-h-color: '<#FFFFFF>'
storage:
type: MYSQL
mysql:
host: localhost
port: 3306
database: admin
username: data
password: password
useSSL: false
pool-size: 10
sqlite:
file: mangochat.db
bungee:
enabled: false
server-name: lobby
channel: mangochat:main
chat:
enabled: true
# Default format used when a player has no rank-specific format configured.
default-format: '<#555555>{PREFIX}{PLAYER} <#555555>: <#FFFFFF>{MESSAGE}'
# Range in blocks for local chat, -1 disables local chat and uses global chat
chat-radius: -1
allow-color-permission-node: mangochat.color
allow-gradient-permission-node: mangochat.gradient
hover:
enabled: true
format:
- '<#AAAAAA>Rank: <#FFFFFF>{RANK}'
- '<#AAAAAA>Nickname: <#FFFFFF>{NICKNAME}'
- '<#55FFFF>Click to message this player'
click-to-message: true
delete-button:
enabled: true
symbol: '<#FF5555><bold>[<#FF5555>X<#FF5555>]</bold>'
hover-text: '<#FF5555>Click to delete this message'
permission: mangochat.delete.messages
formats:
ranks: {}
nickname:
enabled: true
max-length: 16
min-length: 3
allow-color: true
format: '<#AAAAAA>~ {NICKNAME}'
blacklist:
- admin
- owner
- staff
tags:
enabled: true
gui-title: '<#555555>Select a Tag'
gui-size: 45
list:
none:
display: ''
permission: mangochat.tag
pro:
display: '<g:#00FFFF:#00BFFF>[Pro]</g> '
permission: mangochat.tag.pro
elite:
display: '<g:#FF00FF:#8A2BE2>[Elite]</g> '
permission: mangochat.tag.elite
legend:
display: '<g:#FFD700:#FFA500>[Legend]</g> '
permission: mangochat.tag.legend
emojis:
enabled: true
itemsadder-support: true
list:
heart: ❤
smile: ☺
star: ★
check: ✔
cross: ✖
fire: 🔥
thumbsup: 👍
warning: ⚠
diamond: ♦
skull: ☠
deletable:
- fire
- skull
- warning
antiswear:
enabled: true
action: WARN
censor-symbol: '*'
bypass-permission: mangochat.bypass.swear
words:
- badword1
- badword2
- badword3
punishments:
warn-message: '<#FF5555><bold>WARNING</bold> <#AAAAAA>You used a prohibited word!'
max-violations-before-mute: 5
mute-duration-seconds: 300
antispam:
enabled: true
bypass-permission: mangochat.bypass.spam
max-messages: 4
time-window-seconds: 6
similarity-threshold: 0.85
min-message-interval-ms: 1500
punishment:
action: MUTE
mute-duration-seconds: 60
warn-message: '<#FF5555><bold>SPAM</bold> <#AAAAAA>Please slow down your messages!'
anticommandspam:
enabled: true
bypass-permission: mangochat.bypass.commandspam
max-commands: 5
time-window-seconds: 8
blocked-commands:
- spawnmob
- give
punishment:
action: WARN
warn-message: '<#FF5555><bold>COMMAND SPAM</bold> <#AAAAAA>Please slow down your commands!'
antiads:
enabled: true
bypass-permission: mangochat.bypass.ads
action: CANCEL
patterns:
- (?i)(https?:\/\/)?(www\.)?[a-zA-Z0-9-]+\.(com|net|org|io|gg|xyz|tk|ru|info)(\/[\w-]*)*
- (?i)discord\.gg\/[a-zA-Z0-9]+
- \b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b
whitelist-domains:
- mangoverse.ir
warn-message: '<#FF5555><bold>ADVERTISEMENT</bold> <#AAAAAA>Advertising is not allowed!'
mute:
enabled: true
bypass-permission: mangochat.bypass.mute
broadcast-mute: true
muted-message: '<#FF5555>You are currently muted and cannot chat.'
report:
enabled: true
cooldown-seconds: 30
max-reports-per-player-per-day: 10
notify-staff: true
discord-webhook: ''
chatgames:
enabled: false
auto-start: false
interval-minutes: 15
winner-reward-command: eco give {PLAYER} 100
games:
unscramble:
enabled: false
time-limit-seconds: 30
words:
- diamond
- emerald
- creeper
- obsidian
- villager
math:
enabled: false
time-limit-seconds: 20
max-number: 50
typing:
enabled: false
time-limit-seconds: 25
sentences:
- the quick brown fox jumps over the lazy dog
- minecraft is a sandbox video game
- mango chat plugin is the best
staffchat:
format: '<g:#FF69B4:#DA70D6>[Staff]</g> <#AAAAAA>{PLAYER}<#555555>: <#FFFFFF>{MESSAGE}'
adminchat:
format: '<g:#FF4500:#FF0000>[Admin]</g> <#AAAAAA>{PLAYER}<#555555>: <#FFFFFF>{MESSAGE}'
devchat:
format: '<g:#00FFFF:#1E90FF>[Dev]</g> <#AAAAAA>{PLAYER}<#555555>: <#FFFFFF>{MESSAGE}'
helpop:
format: '<g:#FFD700:#FFA500>[HelpOp]</g> <#AAAAAA>{PLAYER}<#555555>: <#FFFFFF>{MESSAGE}'
staff-format: '<g:#FFD700:#FFA500>[HelpOp]</g> <#FFFF55>{PLAYER} <#AAAAAA>needs help: <#FFFFFF>{MESSAGE}'
announcement:
enabled: false
interval-minutes: 10
random-order: true
messages:
- '<g:#FFAA00:#FFD700>Welcome to <bold>MangoVerse</bold>! Visit <#55FFFF>mangoverse.ir</#55FFFF></g>'
- '<g:#FF69B4:#FF1493>Use <#FFFFFF>/report <player> <reason></#FFFFFF> to report rule breakers.</g>'
- '<g:#00BFFF:#1E90FF>Join our Discord for updates and support!</g>'
protocollib:
enabled: true
message-editor:
enabled: true
entries: []
prefix: "<#555555>[<#FFAA00>Mango<#FFFF55>Chat<#555555>]</#555555> "
general:
no-permission: "<#FF5555>You do not have permission to do that."
player-only: "<#FF5555>Only players can use this command."
player-not-found: "<#FF5555>That player could not be found."
invalid-usage: "<#FF5555>Invalid usage: <#FFFFFF>{USAGE}"
reload-success: "<gradient:#55FF55:#00AA00>MangoChat configuration has been reloaded.</gradient>"
unknown-error: "<#FF5555>An unexpected error occurred. Check the console."
chat:
muted: "<#FF5555>You are currently muted and cannot send messages."
muted-time-left: "<#FF5555>You are muted for another <#FFFFFF>{TIME}</#FF5555>."
ignored-player: "<#FF5555>You are ignoring messages from this player."
cleared: "<gradient:#55FF55:#00AA00>The chat has been cleared by <#FFFFFF>{PLAYER}</#FFFFFF>.</gradient>"
message-deleted: "<#AAAAAA>A message was deleted by staff."
nickname:
set: "<gradient:#55FF55:#00AA00>Your nickname has been set to <#FFFFFF>{NICKNAME}</#FFFFFF>.</gradient>"
removed: "<gradient:#55FF55:#00AA00>Your nickname has been removed.</gradient>"
too-long: "<#FF5555>Your nickname cannot be longer than <#FFFFFF>{MAX}</#FFFFFF> characters."
too-short: "<#FF5555>Your nickname must be at least <#FFFFFF>{MIN}</#FFFFFF> characters."
blacklisted: "<#FF5555>That nickname is not allowed."
no-color-permission: "<#FF5555>You do not have permission to use colors in your nickname."
tags:
set: "<gradient:#55FF55:#00AA00>Your tag has been set to <#FFFFFF>{TAG}</#FFFFFF>.</gradient>"
removed: "<gradient:#55FF55:#00AA00>Your tag has been removed.</gradient>"
no-permission-tag: "<#FF5555>You do not have permission to use that tag."
unknown-tag: "<#FF5555>That tag does not exist."
list-header: "<#AAAAAA>Available tags:"
mute:
muted-player: "<gradient:#55FF55:#00AA00>You have muted <#FFFFFF>{PLAYER}</#FFFFFF> for <#FFFFFF>{TIME}</#FFFFFF>. Reason: <#FFFFFF>{REASON}</#FFFFFF></gradient>"
muted-target: "<#FF5555>You have been muted by <#FFFFFF>{STAFF}</#FFFFFF> for <#FFFFFF>{TIME}</#FFFFFF>. Reason: <#FFFFFF>{REASON}</#FFFFFF>"
unmuted-player: "<gradient:#55FF55:#00AA00>You have unmuted <#FFFFFF>{PLAYER}</#FFFFFF>.</gradient>"
unmuted-target: "<gradient:#55FF55:#00AA00>You have been unmuted.</gradient>"
already-muted: "<#FF5555>That player is already muted."
not-muted: "<#FF5555>That player is not muted."
antiswear:
warning: "<gradient:#FF5555:#FF0000><bold>WARNING</bold></gradient> <#AAAAAA>Watch your language!"
auto-muted: "<#FF5555>You have been automatically muted for repeated swearing."
antispam:
warning: "<gradient:#FF5555:#FF0000><bold>SLOW DOWN</bold></gradient> <#AAAAAA>You are sending messages too quickly!"
muted: "<#FF5555>You have been muted for spamming."
anticommandspam:
warning: "<gradient:#FF5555:#FF0000><bold>SLOW DOWN</bold></gradient> <#AAAAAA>You are using commands too quickly!"
blocked: "<#FF5555>You cannot use this command right now."
antiads:
blocked: "<gradient:#FF5555:#FF0000><bold>ADVERTISEMENT</bold></gradient> <#AAAAAA>Advertising links are not allowed here!"
report:
submitted: "<gradient:#55FF55:#00AA00>Your report against <#FFFFFF>{PLAYER}</#FFFFFF> has been submitted. Thank you!</gradient>"
cooldown: "<#FF5555>You must wait before submitting another report."
daily-limit: "<#FF5555>You have reached the maximum number of reports for today."
staff-notify: "<gradient:#FFFF55:#FFAA00><bold>NEW REPORT</bold></gradient> <#AAAAAA>{REPORTER} reported <#FFFFFF>{TARGET}</#FFFFFF> for: <#FFFFFF>{REASON}</#FFFFFF>"
not-found: "<#FF5555>Report not found."
cleared: "<gradient:#55FF55:#00AA00>Reports for <#FFFFFF>{PLAYER}</#FFFFFF> have been cleared.</gradient>"
list-header: "<#AAAAAA>--- Reports (Page {PAGE}/{MAX}) ---"
list-entry: "<#AAAAAA>#{ID} <#FFFFFF>{TARGET}</#FFFFFF> reported by <#FFFFFF>{REPORTER}</#FFFFFF> - <#FFFFFF>{REASON}</#FFFFFF>"
chatgames:
started: "<gradient:#55FF55:#00AA00><bold>CHAT GAME</bold></gradient> <#AAAAAA>A new chat game has started! Type your answer in chat."
unscramble-question: "<#55FF55>Unscramble this word: <#FFFFFF><bold>{SCRAMBLED}</bold></#FFFFFF>"
math-question: "<#55FF55>Solve this: <#FFFFFF><bold>{EQUATION}</bold></#FFFFFF>"
typing-question: "<#55FF55>Type this sentence exactly: <#FFFFFF><bold>{SENTENCE}</bold></#FFFFFF>"
winner: "<gradient:#55FF55:#00AA00><bold>{PLAYER}</bold> won the chat game!</gradient> <#55FF55>+{REWARD} reward</#55FF55>"
no-winner: "<#AAAAAA>Nobody solved the chat game in time. The answer was: <#FFFFFF>{ANSWER}</#FFFFFF>"
already-running: "<#FF5555>A chat game is already running."
none-running: "<#FF5555>There is no chat game running right now."
stopped: "<gradient:#55FF55:#00AA00>The chat game has been stopped.</gradient>"
staffchat:
toggled-on: "<gradient:#FF69B4:#DA70D6>You are now in staff chat mode. Type in chat to talk to staff.</gradient>"
toggled-off: "<gradient:#FF69B4:#DA70D6>You have left staff chat mode.</gradient>"
freeze:
frozen: "<#FF5555>You have been frozen by staff. Please wait."
frozen-other: "<gradient:#55FF55:#00AA00>You have frozen <#FFFFFF>{PLAYER}</#FFFFFF>.</gradient>"
unfrozen: "<gradient:#55FF55:#00AA00>You are no longer frozen.</gradient>"
unfrozen-other: "<gradient:#55FF55:#00AA00>You have unfrozen <#FFFFFF>{PLAYER}</#FFFFFF>.</gradient>"
emoji:
deleted: "<gradient:#55FF55:#00AA00>Emoji <#FFFFFF>{EMOJI}</#FFFFFF> has been deleted.</gradient>"
unknown: "<#FF5555>That emoji does not exist."
list-header: "<#AAAAAA>Available emojis:"
spy:
enabled: "<gradient:#55FF55:#00AA00>Social spy enabled.</gradient>"
disabled: "<gradient:#55FF55:#00AA00>Social spy disabled.</gradient>"
ignore:
now-ignoring: "<gradient:#55FF55:#00AA00>You are now ignoring <#FFFFFF>{PLAYER}</#FFFFFF>.</gradient>"
no-longer-ignoring: "<gradient:#55FF55:#00AA00>You are no longer ignoring <#FFFFFF>{PLAYER}</#FFFFFF>.</gradient>"
cannot-ignore-self: "<#FF5555>You cannot ignore yourself."
gui:
main-title: "<#555555>MangoChat Management"
toggle-enabled: "<#55FF55>Enabled"
toggle-disabled: "<#FF5555>Disabled"
🎯 Commands & Permissions
| Command | Description | Permission |
|---|---|---|
/mangochat |
Main command & admin panel | mangochat.admin |
/nick <name> |
Set your nickname | mangochat.nickname |
/nick remove |
Remove your nickname | mangochat.nickname |
/tag |
Open tag GUI | mangochat.tag |
/mute <player> <time> <reason> |
Mute a player | mangochat.mute |
/unmute <player> |
Unmute a player | mangochat.mute |
/report <player> <reason> |
Report a player | mangochat.report |
/staffchat |
Toggle staff chat | mangochat.staffchat |
/adminchat |
Toggle admin chat | mangochat.adminchat |
/helpop <message> |
Request staff help | mangochat.helpop |
/clear |
Clear the chat | mangochat.clearchat |
/freeze <player> |
Freeze a player | mangochat.freeze |
/socialspy |
Toggle social spy | mangochat.spy |
📋 Full Permission List
All permissions are fully configurable. Below is the complete list – copy and paste this into your permissions.yml or plugin manager.
permissions:
mangochat.*:
description: Grants all MangoChat permissions
default: op
children:
mangochat.admin: true
mangochat.admin.format: true
mangochat.admin.msgedit: true
mangochat.tag: true
mangochat.tag.gui: true
mangochat.nickname: true
mangochat.broadcast: true
mangochat.clearchat: true
mangochat.mute: true
mangochat.staffchat: true
mangochat.adminchat: true
mangochat.devchat: true
mangochat.helpop: true
mangochat.report: true
mangochat.reports.view: true
mangochat.chatgame.admin: true
mangochat.chatgame.play: true
mangochat.spy: true
mangochat.ignore: true
mangochat.emoji: true
mangochat.emoji.manage: true
mangochat.freeze: true
mangochat.bypass.swear: true
mangochat.bypass.spam: true
mangochat.bypass.commandspam: true
mangochat.bypass.ads: true
mangochat.bypass.mute: true
mangochat.color: true
mangochat.gradient: true
mangochat.format.hex: true
mangochat.delete.messages: true
mangochat.admin:
description: Access to /mangochat
default: op
mangochat.admin.format:
description: Manage chat formats per rank
default: op
mangochat.admin.msgedit:
description: Edit other plugin messages
default: op
mangochat.tag:
description: Use /tag
default: true
mangochat.tag.gui:
description: Open the tag selection GUI
default: true
mangochat.nickname:
description: Use /nickname
default: true
mangochat.broadcast:
description: Use /broadcast
default: op
mangochat.clearchat:
description: Use /clearchat
default: op
mangochat.mute:
description: Mute/unmute players
default: op
mangochat.staffchat:
description: Use staff chat
default: op
mangochat.adminchat:
description: Use admin chat
default: op
mangochat.devchat:
description: Use developer chat
default: op
mangochat.helpop:
description: Use /helpop
default: true
mangochat.report:
description: Report players
default: true
mangochat.reports.view:
description: View reports
default: op
mangochat.chatgame.admin:
description: Manage chat games
default: op
mangochat.chatgame.play:
description: Participate in chat games
default: true
mangochat.spy:
description: Toggle social spy
default: op
mangochat.ignore:
description: Ignore players
default: true
mangochat.emoji:
description: Use emojis
default: true
mangochat.emoji.manage:
description: Manage/delete emojis
default: op
mangochat.freeze:
description: Freeze players
default: op
mangochat.bypass.swear:
description: Bypass swear filter
default: op
mangochat.bypass.spam:
description: Bypass anti-spam
default: op
mangochat.bypass.commandspam:
description: Bypass anti-command-spam
default: op
mangochat.bypass.ads:
description: Bypass anti-ads
default: op
mangochat.bypass.mute:
description: Bypass mute
default: op
mangochat.color:
description: Use & color codes in chat
default: op
mangochat.gradient:
description: Use gradient codes in chat
default: op
mangochat.format.hex:
description: Use the &h auto-color-till-end code
default: op
mangochat.delete.messages:
description: See the delete (X) button on chat messages
default: op


