An auto censor plugin that enables you to stop worrying about players swearing on your server. The number of warnings can be specified, as can the action that is taken once the warnings are expired (kick or ban).

For Portuguese speaking users, user AbsintoJPl has very kindly provided a video tutorial for Badwords. Thanks AbsintoJ!


  • Individual words or entire phrases supported
  • Regular expression support
  • Banned words can be substituted for less offensive words
  • Admin can define how many warnings players get
  • Admin definable punishment (kick or ban)
  • Case insensitive matching
  • Only whole words or phrases are matched (i.e. "the" would not match in "tether")
  • Admin can define who gets notified of profanities
  • New to 1.41 - Fixed bug in warning timestamps
  • New to 1.40 - Added functionality that unbans a player when their warnings are reset
  • New to 1.40 - Fixed bug that broke update checking enabling/disabling
  • New to 1.40 - Fixed bug in "warnings" that would give remaining warnings for non-existant players
  • New to 1.40 - Fixed bug preventing commands from being issued on the console
  • New to 1.31 - Update checking can now be disabled
  • New to 1.30 - Warnings can now be reset by an op
  • New to 1.30 - Warnings can be configured to expire after a set time
  • New to 1.24 - Fixed bug causing players to be warned of remaining warnings, when warnings -1 was set in config
  • New to 1.23 - Fixed bug causing sporadic exception when adding or delete word from banned list in game
  • New to 1.22 - Banned words can now be substituted for less offensive words
  • New to 1.22 - Changed command from /bw to /badw to avoid collisions with other plugins (e.g. ButtonWarp)
  • New to 1.2 - Various admin commands now available in game (see details below)
  • New to 1.2 - Log censored messages
  • New to 1.2 - Server logs and Ops are now notified when an update to BadWords is available
  • New to 1.2 - Permission support

Example word definitions:

  • smell (simple match - will match smell either on it's own or in a sentence, not smelly)
  • bu+?m (will match bum or buuuuum or any number of "u"s in the word)
  • you are smelly (phrase match - will match you are smelly, not you or are or smelly on their own)
  • \w*?poop\w*? (substring match - will match poop or poophead or motherpooper)
  • idiot:silly (substitution, all instances of idiot will be replaced with silly)

Banned word substitution:

In the config file, it is now possible to substitute a banned word or phrase for a less offensive alternative. For instance, the example below would replace all instances of the word "bum" with the word "bottom": bum:bottom The following example would replace all instances of the phrase "You are stupid" with the phrase "You are silly": You are stupid:You are silly

Admin commands:

  • /badw list List all banned words
  • /badw add <word> Add a word to the banned list
  • /badw delete <word> Delete a banned word from the list
  • /badw warnings <playername> Find out how many warnings a player has left
  • /badw reset <playername> Reset a player's warnings to the default value set in the config file

Permissions nodes:

  • badw.all Access all BadWords admin commands listed above

Default Configuration file details:

   checkForUpdates: true Check for new versions of BadWords
   notifyOp: true Notify ops of a new version of BadWords when they join
   default: 3 How many warnings should a player receive
   timeout: 168 After how many hours of not swearing should a player's warnings expire (-1 to disable expiry)
   ban: true Should players be banned when warnings have expired (if false, they are kicked)
   swear: true Should messages containing banned words be logged
   player: true Should the player be notified of their remaining warnings when they swear
   others: true Should all other players be notified when a player swears (the swear is not displayed)
BannedWords: List of bad words/phrases (with optional substitutions)
   - bum
   - idiot:silly
   - you are crap


See tickets

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of zekigames08 zekigames08 Mar 10, 2014 at 20:36 UTC - 0 likes

    SQL ?

  • Avatar of balmoraman balmoraman Mar 07, 2014 at 23:32 UTC - 0 likes

    Why do capital letters not count?

  • Avatar of LennartPS LennartPS Feb 13, 2014 at 11:50 UTC - 0 likes

    People with op will be banned with badwords... that is not very good

  • Avatar of AbsintoJPl AbsintoJPl Jan 23, 2014 at 17:38 UTC - 0 likes

    Video Tutorial on the Plugin

    Credits: (AbsintoJ/BadWords)


    My channel tutorials plugins minecraft:


  • Avatar of PapaHarni PapaHarni Oct 26, 2013 at 16:34 UTC - 0 likes

    Can i add a Message which Word is wrong?

    Example: You cannot say that "fu.."

  • Avatar of ChuckHunky ChuckHunky Oct 21, 2013 at 10:16 UTC - 0 likes

    @ManBeastPigDev: Go @ManBeastPigDev: Go @ManBeastPigDev: Go

    Hi all

    Many thanks for the bug reports. Unfortunately, I don't have any available time to work on the plugin at the moment. I realise that not kicking is a major problem and needs resolving ASAP. I'll try and find some time as soon as possible and get a fix out.

    Sorry! ChuckHunky

  • Avatar of ManBeastPigDev ManBeastPigDev Oct 21, 2013 at 10:09 UTC - 0 likes

    Error on kick attempt/fail

    Crafty Creeper Party Server

  • Avatar of ManBeastPigDev ManBeastPigDev Oct 20, 2013 at 19:00 UTC - 0 likes

    CONSOLE: [SEVERE] Could not pass event AsyncPlayerChatEvent to BadWords v1.41 7:58:29 PM CONSOLE: java.lang.IllegalStateException: Asynchronous player kick!

    It doesn't kick players when they reach the limit of swears.

  • Avatar of ManBeastPigDev ManBeastPigDev Oct 20, 2013 at 10:22 UTC - 0 likes

    My players are on MINUS numbers and still dont get kicked. I noticed one of the response test lines is on 2 lines, maybe its an error in the default config. PS Please add /badw reload or load Its a pain rebooting just for one plugin. thanks

  • Avatar of ManBeastPigDev ManBeastPigDev Oct 19, 2013 at 17:27 UTC - 0 likes

    @MALONN: Go

    Thanks this has annoyed me from day 1/ Should be in the description.


Date created
Jan 03, 2012
Last update
May 09, 2013
Development stage
BSD License
Curse link
Recent files