EndSwear
EndSwear
What is EndSwear? EndSwear is an anti-swearing plugin designed to either kick, tempban, fine, mute, or warn players who swear.
Features
- Punishment
- Point-based.
- Multiple options:
- Executing server commands.
- Temporary bans.
- Kicking players for swearing.
- Fining players (via Vault).
- Muting players.
- Blowing players up.
- Smiting players.
- Damaging players.
- Killing players.
- Simply warning players.
- Phonetic matching:
Suppose that player "FreeSpace2" thinks he is being clever. Instead of saying "foo", which is a swear word, he says "fooo". But, with Fuzzy matching, EndSwear can see that he is trying to swear and still punish him!
- Censoring only the swear words!
Configuration
Permission | Command | Action |
---|---|---|
EndSwear.info | /swear info [player] | Gets player data. |
EndSwear.add | /swear add [word] | Allows the addition of words to the swear dictionary. |
EndSwear.whitelist | /swear whitelist [word] | Allows the addition of words to the swear dictionary. |
EndSwear.list | /swear list | Allows the listing of all swear words |
EndSwear.contains | /swear contains [word] | Allows users to see if a word is in the dictionary. |
EndSwear.pardon | /swear pardon [player] | Allows clearing a person's swear history. |
EndSwear.bypass | Bypass the swear filter. |
More configuration help is here. EndSwear now uses MCStats to collect usage information. No personal data is collected, and if you want to turn off statistics collection go here.
Suggestions
Do you have a suggestion? Comment it or PM me!
Support
Comment below, and I will try to help.
Upcoming Features
More threading and speed improvements.Configurable messages.Muting.Phonetic matching.Explosions!Configurable BleepsDamage!Lightning!Point-based punishmentsSingle-jar fileAdaptable point-based punishments.Automatic pardon.Sign censorship.Whitelist.And at long last... a working reload command!- Yet better matcher!
Contribute
Like EndSwear?
via Bitcoin (1GQdmRqKF4ZYCSsyKJfVuyCu8HcdW1PFuX|)
Want to help? PM me! (You will have no obligations!)
@TheMultiplayer
Sweet, can't wait. :)
@ekcduce
Yeah, I fixed this and it will be gone in the next release.
Getting this error on my server log, any ideas?: (Using 4.1A version of this plugin on CB 1.3.1 R2.0)
2012-09-23 14:51:34 [SEVERE] Could not pass event AsyncPlayerChatEvent to EndSwear org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:332) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:459) at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:830) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:807) at net.minecraft.server.Packet3Chat.handle(Packet3Chat.java:44) at net.minecraft.server.NetworkManager.i(NetworkManager.java:211) at net.minecraft.server.NetworkManager.c(NetworkManager.java:326) at net.minecraft.server.NetworkReaderThread.run(SourceFile:93) Caused by: java.lang.UnsupportedOperationException at java.util.AbstractList.remove(AbstractList.java:144) at java.util.AbstractList$Itr.remove(AbstractList.java:360) at java.util.AbstractCollection.remove(AbstractCollection.java:252) at me.FreeSpace2.EndSwear.ThreadedTalkListener.onPlayerChat(ThreadedTalkListener.java:36) at sun.reflect.GeneratedMethodAccessor301.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:330)
@YoFuzzy3
Yes, that error is a problem. I am fixing it :P
As for the spacing, I will try to find an efficient way to do that.
Hi.
Getting this error a lot in the console and the plugin doesn't seem to mute players correctly. With the default word list you get muted for saying "is" and some other words.
Also can you please make it detect words separated by spaces? For example if the word "cow" was not allowed, then "co w," "c o w," and "c o w" would still get censored.
Thanks.
@Terraquis
Thank you! (Using 4.1A?)
It also give too many false positives, for instance, I was kicked repeatedly for saying "it".
@Terraquis
Well... Hmm. I will have to test that.
Thank you, thank you, thank you! This is a great plugin. However, it causes crashes when commands are used from the console (specifially /swear giant).
@TheMultiplayer
thanks for responding and keeping us up to date. Some of the other plugins we wanted to use don't work, and the devs haven't responded for weeks. The fact you care says alot. We'll be keeping this plugin on the list to reinstall very soon. Thanks again.
@deleted_8591593
OK, will do!
hey another idea, We have been adding several words and sometimes 2 mods will add the same word. Would it be possible to have it check if its on there before adding it. Also a "/swear remove <word>" wouldn't hurt, for misspellings and such.
@KhirsahFireflash
I am still thinking about how to make the phonetic algorithm more selective. Right now, I have managed to make it fix double vowels being used in words (e.g. 'cool'), but for other things, I am still refining it.
@TheMultiplayer
any luck with updated algorithms? I'd hate to switch to reg, because it'd be so easy to simply bypass the list. instead of dropping an F-bomb, someone could just type dafuq and they'd still be swearing. I'd prefer to use pho, but without the false positives :)
@deleted_8591593
Actually, threshold of 0 will do nothing :P
Set the matchmode to 'reg' if you only want a 100% match with no guessing. That, I am 100% sure, will stop every problem that everybody has had with false positives.
@KhirsahFireflash
Same here, I don't have any issue with my normal players, it's the new ones. I have debated adding the "EndSwear.bypass" for my Trusted players with permissions. Maybe that would work for you?
Also @TheMultiplayer, if I set the threshold to 0, would that mean it just checks for words on the list and doesn't try to guess? Or doesn't it work that way?
Again, Thanks or all the effort, this plugin is awesome! Do you have a donate link?
Thanks! Im using this in my server and Im finding great use! Job well done!
@TheMultiplayer
my blacklist is actually the default blacklist plus erilidon's blacklist. I just figured that between the two, they covered most of the bases, so I didn't need to write my own. Also getting false positives on been and a few other words I noted in the log but haven't been reported to me yet (so I don't actually know the words they were trying to say). All I can say is that my players are annoyed at best, and getting a little upset at worst. My players aren't habitual swearers either, this plugin wasn't added for their benefit. It was added for public players whom we don't know and trust all that well. So for my players who don't swear, we all thought this plugin would be sort of a safety net for newcomers, but it's turning into a hassle for us, catching false positives instead.
Still, I want to use it, because I like the concept. But from reviewing the server logs, my players are getting kicked every 5 minutes or so. They can't use any emoticons such as Q.Q which are fairly popular. I've disabled the plugin for the moment but hopefully it'll be tweaked enough for us to use again soon.
nevermind, the Download link at the top of this page goes to 3.1
just loaded your plugin, /swear by itsself throws an exception.