Description
EasyChatFilter
EasyChatFilter is a Paper 26.x plugin that automatically censors inappropriate language in chat. It supports three configurable filter levels so server owners can tune strictness to their audience — from family-friendly servers to adult communities.
Filter Levels
Set the server's filter level with /chatfilter setlevel <level>:
| Level | Audience | What gets blocked |
|---|---|---|
PG |
Family / Kids | Everything — mild language, moderate profanity, slurs, explicit content |
PG13 |
General / Teen | Moderate profanity, slurs, and explicit content (mild words like "damn" pass through) |
TVMA |
Adult / Lenient | Only the worst content — hard slurs and explicit sexual language |
The default level is PG13.
Bypass Detection
EasyChatFilter catches common tricks players use to sneak past filters:
- Leet speak —
f@ck,fu(k,5h1t,@ss - Spacers & punctuation —
f u c k,f-u-c-k,f.u.c.k - Accented characters —
fúck,shït - Repeated characters —
fuuuuck,shhhhit - Split messages — typing
f, thenu, thenc, thenkacross four separate messages within 5 seconds is caught and blocked
Commands
All commands require the chatfilter.admin permission (default: OP).
| Command | Description |
|---|---|
/chatfilter setlevel <PG|PG13|TVMA> |
Change the active filter level |
/chatfilter reload |
Reload config.yml and words.yml from disk |
/chatfilter status |
Show the current level, word counts, and settings |
/chatfilter addword <word> <PG|PG13|TVMA> |
Add a word to the filter at a given level |
/chatfilter removeword <word> |
Remove a word from the filter |
Aliases: /cf, /ecf
Permissions
| Permission | Default | Description |
|---|---|---|
chatfilter.admin |
OP | Access to all /chatfilter commands |
chatfilter.notify |
OP | Receive a private alert when a player's message is filtered |
chatfilter.bypass |
false | Skip the filter entirely (e.g. for trusted staff) |
Configuration
config.yml
filter-level: PG13 # Active level: PG, PG13, or TVMA
replacement: "###" # Text that replaces a filtered word
notify-admins: true # Alert players with chatfilter.notify
log-to-console: true # Log filtered messages to the server console
split-detection: true # Catch words split across multiple messages
words.yml — Ships with a comprehensive built-in word list. Add or remove entries at any time using the commands above, or edit the file directly and run /chatfilter reload.




