Skip to content

About

PocketMine-MP plugin for filtering profanity in chat and commands with configurable word lists, warnings and punishments.

Topics

Resources

Code of conduct

Stars

10 stars

Watchers

3 watching

Forks

Repository files navigation

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.

Features

  • Commando-based /pf command 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 in plugin_data/ProfanityFilter/profanity.yml (banned-words section); the provided list is refreshed and kept immutable on startup.
  • Two filter modes: block (cancel the message) or hide (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) after max-violations.
  • Configurable permissions (command-permission, bypass-permission), update checker toggle, and language system (English & Vietnamese, or add your own).

Commands

  • /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.

Configuration highlights

  • profanity: custom to use banned-words.yml, or provided to use the bundled list.
  • type: block to cancel profane messages, hide to mask them with replacementCharacter.
  • 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, or custom (create languages/custom.yml).
  • check-updates: enable/disable remote update checks.

Installation

  • Download a stable artifact from the GitHub Releases page or Poggit.
  • Place ProfanityFilter.phar in the server's plugins/ directory.
  • Start the server once, then configure plugin_data/ProfanityFilter/config.yml.
  • Manage custom words in plugin_data/ProfanityFilter/profanity.yml under the banned-words section, or use the in-game /pf commands.

Changelog

See the GitHub Releases page for the current stable version and changelogs/v0.2.x.md for the release notes.

Report an issue or bug

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.

Compatibility note

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.

Screenshots

Contributors and Collaborators

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.

About

PocketMine-MP plugin for filtering profanity in chat and commands with configurable word lists, warnings and punishments.

Topics

Resources

Code of conduct

Stars

10 stars

Watchers

3 watching

Forks

Releases

Used by

Contributors

Languages