Updated the supplied download to version 2.5.1.
Extract the ZIP to obtain the plugin JAR. Back up your server and configuration before replacing the existing plugin.
Download access requires BlackSpigot Ultra.
![]()
Features
Screenshots
- Flexible Formats:
- Use a single format for all groups or define unique formats for each group
- Choose between a concise one-line format or a more readable multi-part format
- Freely move and rename individual parts of the format as you wish
- MiniMessage and Legacy Color Codes:
- Seamlessly combine modern, powerful formatting options (e.g., hover, click, gradient, rainbow) with classic legacy formatting codes
- Player Permissions:
- Assign specific permissions for MiniMessage colors, decorations, and tags to individual players or groups
- Manage access to legacy formatting codes and HEX colors
- Use wildcard permissions (e.g., color.*) to grant access to all options at once
- LuckPerms or Any Vault-Compatible Permissions Plugin Support:
- Automatically retrieve and apply prefixes and suffixes
- PlaceholderAPI Support:
- Use hundreds of placeholders for dynamic chat content
- Built-in Placeholders:
- {world}
- {prefix}
- {name}
- {displayname}
- {sender_name}
- {receiver_name}
- {displayname}
- {suffix}
- {message}
- Private Messages:
- Use Flexible Formats
- Customize per sender / receiver
- Use MiniMessage and Legacy Color Codes
- Use PlaceholderAPI
- Ignore Command:
- Ignore messages from player on chat and in private message
Players view:
![]()
Admins view:
![]()
Permissions:
![]()
Configuration Examples
Spoiler: chat.yml
Code (YAML):
# This is the default/global/fallback format.
# Separator placed between each part of this format.
part-separator: " "
# Parts that make up this chat format.
player:
text: "{prefix}{name}"
hover:
- "{prefix}{name}"
- "&8Joined %player_first_join_date%"
- ""
- "&7Hours played: &f%statistic_hours_played%h"
- "&7Current world: &f{world}"
- ""
- "&aClick to send a private message!"
suggest: "/msg {name} "
divider:
text: "&7➥"
message:
text: "{message}"
hover: "&eClick to ignore all {name}'s messages!"
run: "/ignore {name}"
Spoiler: admin.yml
Code (YAML):
# One-line format example
chat-format:
text: '<click:suggest_command:/helpop >{prefix} {name}</click>&r: {message}'
Spoiler: msg-receiver.yml
Code (YAML):
# This is the receiver private message format.
# Separator placed between each part of this format.
part-separator: " "
# Parts that make up this private message format.
from-to:
text: "<#6cc324>[&f{sender_name} <#6cc324>➥ &fme<#6cc324>]"
hover:
- "&8%server_time_yyyy-MM-dd HH:mm:ss%"
- "{sender_name} <#6cc324>sent this message to &fyou<#6cc324>."
- ""
- "<#6cc324>Click to reply!"
suggest: "/msg {sender_name} "
message:
text: "{message}"
hover: "&eClick to ignore all {sender_name}'s messages!"
run: "/ignore {sender_name}"
Spoiler: msg-sender.yml
Code (YAML):
# This is the sender private message format.
# Parts that make up this private message format.
msg:
text: "<#6cc324>[&fme <#6cc324>➥ &f{receiver_name}<#6cc324>] &f{message}"
hover:
- "&8%server_time_yyyy-MM-dd HH:mm:ss%"
- "You <#6cc324>sent this message to &f{receiver_name}<#6cc324>."
- ""
- "<#6cc324>Click to reply!"
suggest: "/msg {receiver_name} "
Spoiler: messages.json
Code (Text):
{
"plugin-prefix": "<#6cc324><bold>LPC ",
"command-no-console": "<red>Only players can use this command.",
"command-no-permission": "<red>You don't have permission to use this command.",
"command-reload-usage": "<red>Usage: /lpc reload",
"command-reload-formats": "<green>Reloaded `formats/` folder.",
"command-reload-messages": "<green>Reloaded `messages.yml` file.",
"command-msg-usage": "<red>Usage: /msg <player> <message>",
"command-msg-player-not-found": "<red>Player {target} not found.",
"command-msg-self": "<red>You cannot message yourself.",
"command-msg-no-reply": "<red>No one to reply to.",
"command-msg-reply-usage": "<red>Usage: /r <message>",
"command-msg-ignored": "<red>You cannot message {target} because they are ignoring you.",
"command-ignore-usage": "<red>Usage: /ignore <player>",
"command-ignore-bypass": "<red>You cannot ignore {target}.",
"command-ignore-self": "<red>You cannot ignore yourself.",
"command-ignore-already-ignoring": "<red>You are already ignoring {target}.",
"command-ignore-success": "<green>You are now ignoring {target}.",
"command-unignore-usage": "<red>Usage: /unignore <player>",
"command-unignore-not-ignoring": "<red>You are not ignoring {target}.",
"command-unignore-success": "<green>You are no longer ignoring {target}."
}
Permissions
Permission Description lpcpro.message.* Allows use of all below tags in chat messages. lpcpro.message.color.* Allows use of any color tag in chat messages. lpcpro.message.color.black Allows use of <black> / &0 in chat messages. lpcpro.message.color.dark_blue Allows use of <dark_blue> / &1 in chat messages. lpcpro.message.color.dark_green Allows use of <dark_green> / &2 in chat messages. lpcpro.message.color.dark_aqua Allows use of <dark_aqua> / &3 in chat messages. lpcpro.message.color.dark_red Allows use of <dark_red> / &4 in chat messages. lpcpro.message.color.dark_purple Allows use of <dark_purple> / &5 in chat messages. lpcpro.message.color.gold Allows use of <gold> / &6 in chat messages. lpcpro.message.color.gray Allows use of <gray> / &7 in chat messages. lpcpro.message.color.dark_gray Allows use of <dark_gray> / &8 in chat messages. lpcpro.message.color.blue Allows use of <blue> / &9 in chat messages. lpcpro.message.color.green Allows use of <green> / &a in chat messages. lpcpro.message.color.aqua Allows use of <aqua> / &b in chat messages. lpcpro.message.color.red Allows use of <red> / &c in chat messages. lpcpro.message.color.light_purple Allows use of <light_purple> / &d in chat messages. lpcpro.message.color.yellow Allows use of <yellow> / &e in chat messages. lpcpro.message.color.white Allows use of <white> / &f in chat messages. lpcpro.message.color.#rrggbb Allows use of the specified <#rrggbb> / &#rrggbb hex color in chat messages. lpcpro.message.decoration.* Allows use of any decoration tag in chat messages. lpcpro.message.decoration.bold Allows use of <bold> / &l in chat messages. lpcpro.message.decoration.italic Allows use of <italic> / &o in chat messages. lpcpro.message.decoration.underlined Allows use of <underlined> / &n in chat messages. lpcpro.message.decoration.strikethrough Allows use of <strikethrough> / &m in chat messages. lpcpro.message.decoration.obfuscated Allows use of <obfuscated> / &k in chat messages. lpcpro.message.reset Allows use of <reset> / &r in chat messages. lpcpro.message.click Allows use of <click:_action_:_value_> in chat messages. lpcpro.message.hover Allows use of <hover:_action_:_value..._> in chat messages. lpcpro.message.keybind Allows use of <key:_key_> in chat messages. lpcpro.message.translatable Allows use of <lang:_key_:_value1_:_value2_...> in chat messages. lpcpro.message.insertion Allows use of <insertion:_text_> in chat messages. lpcpro.message.rainbow Allows use of <rainbow:[!][phase]> in chat messages. lpcpro.message.gradient Allows use of <gradient:[color1]:[color...]:[phase]> in chat messages. lpcpro.message.transition Allows use of <transition:[color1]:[color...]:[phase]> in chat messages. lpcpro.message.font Allows use of <font:key> in chat messages. lpcpro.message.newline Allows use of <newline> in chat messages. lpcpro.message.selector Allows use of <selector:_sel_[:_separator_]> in chat messages. lpcpro.command.reload Allows use of /lpc reload command. | default: op lpcpro.command.msg Allows use of /msg <player> <message> command. | default: true lpcpro.command.reply Allows use of /r <message> command. | default: true lpcpro.command.ignore Allows use of /ignore <player> command. | default: true lpcpro.command.ignore.bypass Players with this permission cannot be ignored. | default: op lpcpro.command.unignore Allows use of /unignore <player> command. | default: true
Roadmap and Planned Features
Your feedback shapes the future of LPC Pro! Here’s what we’re working on next:
Support and Contact
- Own placeholders system
- <item> placeholder to display item in hand
- <X> placeholder to remove message
- Player mentions (@)
- Emojis
- Chat color GUI
- Chat tags GUI
- Join/leave messages
- Custom MOTD
- Block /plugins etc.
- Auto announcements
- Custom death messages
- Chat channels
- Console format
- Radius based messages
- Discord integration
- Towny integration
- Report message
- Clear chat
- Chat logs
- Chat rules
- Chat moderation
- AI automatic chat moderation
- Sound notifications
- Bungeecord / Velocity support
- Tablist format
- Nametag format
- Custom nicks
- Social spy
- Own commands system
- ESC menu server links
- Mail system
We’re here to help—whether it’s installation, setup, or customization. Join our Discord or reach out directly!