A Basic general purpose chat and Tablist plugin with Luckperms and PlaceholderAPI Support
RiotChat is a lightweight, moderation-focused chat plugin for Spigot/Paper. It provides formatted chat, mentions, a persistent ignore system, clear/announce utilities, tablist headers/footers, and a persistent mute system with database backing and tab-completion for moderation commands.
This README documents features, installation (binary/JAR), configuration, database, commands, permissions and how to report issues.
/msg, /reply)/mute <player> [duration] [reason]/unmute <player>riotchat_mutes table/mute (player names + durations)This repository is intended to host the plugin releases (JAR files) and does not necessarily include the source code. To install the plugin on your server:
plugins/ directory.If a compiled JAR is not present in the repository, check the Releases tab or the project's website for binary downloads.
Main config file (generated on first run): config.yml in the plugin folder. Important config keys (examples):
enable-chat (boolean) — Global switch for chat features.chat.separator (string) — Separator between name and message.chat.name-hover / chat.name-click (boolean) — Enable hover/click behaviour on player names.clearchat.lines (int) — Number of blank lines to send for /clearchat.announce.format (MiniMessage block) — Template used for broadcast announcements.database.type — H2 or MYSQL.database.h2.file — H2 file path (without .mv.db).database.mysql.* — MySQL connection settings.Example excerpt:
database:
type: "H2"
h2:
file: "plugins/RiotChat/riotchat"
clearchat:
lines: 120
message: |
<dark_gray>━━━━━━━━━━━━━━━━━━━━━━━━</dark_gray>
<gradient:#00ffff:#00bcd4><bold>CHAT CLEARED</bold></gradient>
<gray>The chat has been cleared by <b><cyan>%player_name%</cyan></b></gray>
<dark_gray>━━━━━━━━━━━━━━━━━━━━━━━━</dark_gray>
/msg <player> <message> — Send a private message./reply <message> — Reply to last private message./announce <message> — Broadcast an announcement (permission: riotchat.announce)./clearchat [silent] — Clears chat; silent suppresses broadcast (permission: riotchat.clearchat)./togglechat — Toggle global chat state (permission: riotchat.chat.toggle)./ignore <player> — Toggle ignoring a player (permission: riotchat.ignore)./ignorelist — Show the players you currently ignore./mute <player> [duration] [reason] — Mute a player (permission: riotchat.mute).10s, 5m, 1h, 1d, or perm for permanent.MuteTabCompleter that suggests players and common durations./unmute <player> — Unmute a player (permission: riotchat.unmute).Suggested default permission nodes (adjust in your permissions system):
riotchat.color — Use color codes in chat (default: op)riotchat.reload — Reload configuration (default: op)riotchat.announce — Use /announce (default: op)riotchat.ignore — Use ignore commands (default: op)riotchat.clearchat — Clear chat (default: op)riotchat.clearchat.bypass — Bypass clear chat effects (default: false)riotchat.chat.bypass — Bypass global chat-disabled state (default: op)riotchat.chat.toggle — Toggle chat on/off (default: op)riotchat.mute — Mute players (default: op)riotchat.unmute — Unmute players (default: op)riotchat.mute.bypass — Bypass mutes (for staff) (default: op)config.yml database settings and reachability.If you need further help, open an issue on the repository with server logs and configuration excerpts.
This repository is intended to host plugin releases (binary JARs). It may not contain the plugin source code. If you want to contribute or request the source, please open an issue or check the project page for a link to the source repository. Pull requests against compiled-release repositories are not accepted.
This project is provided under the MIT License by default.
/mute//unmute, MuteTabCompleter