This plugin is a comprehensive chat and content management tool designed to help server owners maintain a family-friendly and clean environment. It automatically filters inappropriate language from multiple sources and gives administrators easy-to-use tools to manage the word list in-game.
Core Features:
Real-time Chat Filtering:
The plugin actively scans every message sent in the server chat.
If a message contains a word from the configurable banned-words list, the message is blocked completely.
The player who sent the message receives a private error telling them their message was inappropriate.
Sign Censoring:
When a player creates or edits a sign, the plugin scans all four lines for banned words.
Instead of blocking the sign, it automatically censors the bad word by replacing it with asterisks (e.g., ****).
The filter is smart and only censors whole words, preventing mistakes like censoring the "ass" in "grass".
The player receives a private warning that their sign was censored.
Book & Quill Censoring:
When a player signs a Book and Quill, the plugin scans every page for banned words.
Just like with signs, it censors any inappropriate words with asterisks.
The player is notified that their book has been censored.
Admin Management Commands:
The plugin includes a powerful /chatfilter command for administrators.
/chatfilter add <word>: Instantly adds a new word to the filter list.
/chatfilter remove <word>: Removes a word from the filter list.
/chatfilter list: Shows all currently banned words.
/chatfilter reload: Reloads the banned words from the config.yml file without needing to restart the server.
Permission Support:
chatfilter.admin: Grants access to the /chatfilter command. (Default: OP)
chatfilter.bypass: Allows players with this permission to use banned words in chat, on signs, and in books without being blocked or censored. (Default: OP)
Auto-Capitalization:
A small cosmetic feature that automatically capitalizes the first letter of every player's chat message, making the chat look cleaner and more uniform. This does not affect commands.