This plugin prevents swearing on bukkit minecraft servers. It monitors chat messages, signs, /me commands, private messages, custom made items using anvil, books, and nicknames for restricted words in the config file. Offenders are stored in the config file. You can configure the plugin to kick or ban on the final warning.

This plugin uses regular expressions for words.



  • Player chats
  • Signs
  • Private messages
  • Items named with the Anvil
  • Book text and titles
  • Manual warnings
  • Mute players for a configured time frame after swearing.


  • Ignore OPs from any checks.
  • Censor messages by replacing the restricted word with another, including player name (%name%).
  • Words that are abused are also logged to show frequency.
  • Block words like "d$%n", "d a m n", and "@$$" with the advanced option.
  • Block single character words and check for swears using a queue for players who like to swear using separate lines.
  • Additionally you can remove vowels from words to compare what players are writing.
  • Numbers are removed during checks to thwart things like "da1mn".
  • Patterns are checked for words like "dddaaaammmnnnnn". This would be flagged.
  • Can censor using a random replacement word.
  • Can run custom commands instead of kicking a player.


  • Standard word conventions such as apostrophes are permitted within certain restraints. "I'm", "don't", "you're" will not be flagged, while "cr'ap" would be flagged.
  • Websites are allowed.
  • & colors are not flagged.
  • Symbols "-" and "_" are allowed in specific patterns.
  • Online usernames are not flagged.
  • Allow list is used to enable words with symbols like "o_O".


The reason that I wrote this was because I have been finding signs all over my server with restricted words and couldn't find a plugin that checked signs. I decided not to stop there and that is why this plugin restricts swearing in more than just chat.



  1. To block hell but not hello, the plugin understands hell!o as matching hell but not hello.
  2. Word borders are understood as /b. borders can only be at the beginning or end of a word.
  3. /i is used to ignore words for the removeVowels option.


  • /ns warnings - View your current warnings
  • /ns report - Report the last flagged word for owners review
  • /ns info - View plugin info
  • /ns add <word> - Add a word to the banned list
  • /ns allow <word> - Add a word containing symbols to the symbols allowed list.
  • /ns exempt <player> - Stop issuing warnings to specified player
  • /ns notexempt <player> - Remove player for exempt list and continue issuing warnings
  • /ns review - View all the words users flagged for review
  • /ns remove <word> - Remove players request to review word
  • /ns removeall - Remove all player requests for reviewing words
  • /ns clear <player> - Remove warnings player has received
  • /ns delete <word> - Remove a word from the banned words list


  • - ns.add
  • - ns.allow
  • - ns.exempt
  • - ns.notexempt
  • -
  • - ns.remove
  • - ns.remove
  • - ns.clear
  • - ns.delete


Configuration file information Youtube review

Source Code

Source Download


Please give me input, thank you.

My website:

My server:

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

  • Avatar of starkingchris starkingchris Apr 05, 2014 at 02:38 UTC - 0 likes

    Hi! I'm a server owner (MC.DarkWolfGames.Net) I was wondering if you can disable the announcement saying why the player was kicked? It would be nice! PM me if you use it! Or if it is already possible.

  • Avatar of BlackFing85 BlackFing85 Apr 02, 2014 at 17:07 UTC - 0 likes

    Can you add changeable prefix?

  • Avatar of tubelius tubelius Feb 23, 2014 at 08:40 UTC - 0 likes

    Nice plugin. Why is ns.remove twice in the permissions list? Is the other one supposed to be ns.removeall?

  • Avatar of Interested Interested Feb 02, 2014 at 14:04 UTC - 0 likes

    Awesome thank you :) Do you have a Dev builds site?

  • Avatar of xavierarmadillo xavierarmadillo Jan 27, 2014 at 15:25 UTC - 0 likes

    @Interested: Go

    Hi, yes it seems the player name exemption isn't working. F@ck should be blocked is you are blocking symbols. If I fix the player name thing that should help. The allowed list is more for adding in things like "0_0", not individual symbols.

    Lemme see what I can do.

  • Avatar of xavierarmadillo xavierarmadillo Jan 27, 2014 at 15:22 UTC - 0 likes

    @NickLanding: Go

    Lemme see what I can do.

  • Avatar of Interested Interested Jan 27, 2014 at 15:14 UTC - 0 likes

    Hi :) , first of all, AWESOME plugin! it does everything and causes no lag! I just have one question, I want to stop stuff like F@ck and the likes, but I also want to allow things like '_' for player names. eg. a player name of Minecraft_rocks will get blocked, when anybody says it in chat. I've tied putting _ in the Symbol place in config and also in the Allowed symbols in the word list, but I've had no joy. Have you any examples to show me what I'm doing wrong? Thank you.

    Also - GamerKing195 You must have corrupted your config file that is the only way that would have happened. Remove the jar from your plugin folder and restart the server - then put the jar back in and restart. You will then have a new config file. THEN - MAKE A COPY of the config.yml ... that way if you corrupt it again you will have a fall-back. Do this each time you have your config at a working level.

    VitalGrigoryev You cannot add words to the words.yml file while the server is running unless you use the in game commands. To add words directly to the file, you have to stop your server and then add the words/file and then restart. I suggest you have your file prepared off line and then copy it across. Again - Take BACKUPS, before and after.

  • Avatar of jefforulez jefforulez Jan 21, 2014 at 06:20 UTC - 0 likes

    can you post your code on github?

    Last edited Jan 21, 2014 by jefforulez
  • Avatar of GamerKing195 GamerKing195 Jan 13, 2014 at 23:56 UTC - 0 likes

    The config well not load! When I download the plugin and restart the server then go to the newly created folder and check out the config this is the only thing in it

    1. NoSwearing
    2. ---
    3. Show user upon login the onLoginMessage, params: true | false SymbolList: {} noWarn: [] PLEASE HELP!!!!
    Last edited Jan 14, 2014 by GamerKing195
  • Avatar of VitalGrigoryev VitalGrigoryev Jan 09, 2014 at 07:13 UTC - 0 likes

    Added words are removed from words.yml file when restart server and the need to add the words again, fix it please! (((( NS1.0.0.16 - bukkit 1.7.2

    Last edited Jan 09, 2014 by VitalGrigoryev


Date created
Jan 15, 2013
Last update
Dec 18, 2013
Development stage
  • enUS
Public Domain
Curse link
Recent files