Configurable profanity filtering for PocketMine-MP.
ProfanityFilter detects configured words in chat, can block or mask messages, and can apply configurable moderation actions.
Administrators can manage custom words and filter settings in-game or through the plugin data files.
Wiki/Documentation | Poggit | Github Repository | Create an issue. | Discussions | Create a pull request.
- Commando-based
/pfcommand suite with pmforms GUI (view/add/remove/toggle/reload) for in-game management. - Choose between the bundled profanity list (
profanity: provided) or your own custom list inplugin_data/ProfanityFilter/profanity.yml(banned-wordssection); the provided list is refreshed and kept immutable on startup. - Two filter modes:
block(cancel the message) orhide(mask with a replacement character) with customizable warning text. - Punishment pipeline with violation counter supporting kick, timed ban (
ban-duration), or custom commands (console or player) aftermax-violations. - Configurable permissions (
command-permission,bypass-permission), update checker toggle, and language system (English & Vietnamese, or add your own).
/pf help- show available subcommands./pf ui- open the management UI (in-game only)./pf list- list banned words (custom list)./pf add <word>- add a word to the custom list./pf remove <word>- remove a word./pf toggle- enable/disable filtering until reload./pf reload- reload plugin and profanity configs.
Default command permission: profanityfilter.command (configurable). Bypass chat filtering with profanityfilter.bypass.
profanity:customto usebanned-words.yml, orprovidedto use the bundled list.type:blockto cancel profane messages,hideto mask them withreplacementCharacter.replacementCharacter: single character used when hiding profanities.max-violations,punishment-type(kick|ban|command),ban-duration,execute-as-player,command: tune the punishment pipeline.lang:eng,vie, orcustom(createlanguages/custom.yml).check-updates: enable/disable remote update checks.
- Download a stable artifact from the GitHub Releases page or Poggit.
- Place
ProfanityFilter.pharin the server'splugins/directory. - Start the server once, then configure
plugin_data/ProfanityFilter/config.yml. - Manage custom words in
plugin_data/ProfanityFilter/profanity.ymlunder thebanned-wordssection, or use the in-game/pfcommands.
See the GitHub Releases page for the current stable version and changelogs/v0.2.x.md for the release notes.
If you find a bug or another plugin issue:
- Contact support in the Discord Server
- Create an Issue
- Include the problem, crash or error details, and relevant logs so the issue can be investigated.
- Submit the issue and wait for a response.
This plugin targets the PocketMine-MP API declared in plugin.yml. If you use a fork, report its name, version and the complete error output so compatibility can be investigated accurately.
| Name | Contributors |
|---|---|
| NhanAZ | Maintained this Plugin and helped me alot of things like syntax, languages and code improvement. |
| KanadeDev | Helped me alot of language files, and fixed alot of couple things in first release. |
| Reinfy | He implemented some things and fixing and adjusting features, suggesting some improvements. |
| kotyaralih | Made more translation to the language files. |







