Chat (rpg-chat)¶
Status: In Progress — Chat format with
{prefix}{name}{suffix}{message}placeholders (LuckPerms prefix/suffix via core'sNameFormatter),/msg+/replydirect messaging,/mutechat,/clearchat, and channel routing./chat global|party|guildswitches your active channel; party/guild messages are filtered to only their respective members. Configurable per-channel prefixes (channel-prefix-party, etc.). Staff channel + custom server-defined channels come later.
Replaces vanilla chat with a configurable format, channels, and moderation. Wraps rpg-core's NameFormatter for LuckPerms prefix/suffix everywhere.
Config¶
plugins/rpg-chat/config.yml:
chat-format: "{prefix}{name}{suffix} &7» &f{message}"
message-format: "&d{sender} &7-> &d{target}&7: &f{message}"
clearchat-lines: 100
mutechat-default: false
# Per-channel prefix prepended to the rendered chat line. Empty = no prefix.
channel-prefix-global: ""
channel-prefix-party: "&8[&dParty&8] "
channel-prefix-guild: "&8[&aGuild&8] "
Placeholders¶
| Placeholder | Resolved by |
|---|---|
{name} |
Player's display name |
{prefix} |
LuckPerms prefix (empty if no LP) |
{suffix} |
LuckPerms suffix |
{message} |
Their message |
{sender} / {target} |
DM placeholders |
{world} |
World name |
{health}, {mana}, {coins}, {skill:<id>:level} |
Stat/skill snapshots |
Commands¶
| Command | Permission |
|---|---|
/chat <global\|party\|guild> |
rpg.chat.use.<channel> |
/msg <player> <message> |
rpg.chat.msg (default true; aliases: /tell, /w, /whisper) |
/reply <message> |
rpg.chat.reply (default true; alias: /r) |
/clearchat |
rpg.chat.clearchat (op; alias: /cc) |
/mutechat |
rpg.chat.mutechat (op; alias: /mc) |
/chat reload |
rpg.chat.admin.reload (op) |
Additional permissions¶
| Permission | Default | Notes |
|---|---|---|
rpg.chat.mute.bypass |
op | Allows chatting even when mutechat is active |
rpg.chat.use.global |
true | Access global channel |
rpg.chat.use.party |
true | Access party channel |
rpg.chat.use.guild |
true | Access guild channel |
Channels¶
Channels work like Hypixel: each player has an active channel, and their messages route there.
global— visible to all players withrpg.chat.use.globalstaff— visible only to staffparty— registered byrpg-partiesif loaded; visible to party membersguild— registered byrpg-guildsif loaded; visible to guild members
Other addons can register their own channels via the chat addon's API.
Persistence¶
Mute records (player, expires-at, reason) persist via DataStore.
Soft-depend on LuckPerms; falls back to bare names without it.