okchat.silent.all -- Removes join,quit,kick messages for a player
okchat.silent.join.all -- Removes join messages for a player for all worlds
okchat.silent.quit.all -- Removes quit messages for a player for all worlds
okchat.silent.kick.all -- Removes kick messages for a player for all worlds
okchat.silent.join.<world> -- Removes join messages for a player if joining in <world>
okchat.silent.quit.<world> -- Removes quit messages for a player if quitting in <world>
okchat.silent.kick.<world> -- Removes kick messages for a player if being kicked from <world>
okchat.prefix.<defined-node> -- Allows you to use the prefix tied to <defined-node>, if enabled
okchat.suffix.<defined-node> -- Allows you to use the suffix tied to <defined-node>, if enabled
okchat.spam.ignore.all -- Allows you to ignore chat,command,login spam checks
okchat.spam.ignore.chat -- Allows you to ignore chat spam checks
okchat.spam.ignore.command -- Allows you to ignore command spam checks
okchat.spam.ignore.login -- Allows you to ignore login spam checks
okchat.motd -- Allows a player to see the Message of the Day/Allows a player to use /motd
okchat.motd.all -- Allows a player to see all MotDs
okchat.motd.<world>.<defined-node> -- Allows a player to see a world's Message of the Day
okchat.motd.<world>.all -- Allows a player to see all MotDs of <world>
okchat.who -- Allows a player to use /who
okchat.who.all -- Allows a player to use /who <world>
okchat.who.<world> -- Allows a player to use /who <world>
okchat.reload -- Allows you to use /okchat reload
okchat.list.show -- Anyone without this node will be hidden from the player list
okchat.list.format -- Allows you to have your player list name formatted
okchat.nick -- Allows you to use /nick <nickname>
okchat.nick.any -- Allows you to bypass any nickname rules(illegal characters, colors, duplicates...)
okchat.nick.color -- Allows you to use color codes in your nickname
okchat.title.format -- Allows you to have your title formatted(SPOUT)
okchat.ignore -- Allows you to add,remove people to,from your ignore list
okchat.whisper -- Allows you to whisper and reply to people
okchat.mute -- Allows you to mute a person
okchat.unmute -- Allows you to unmute a person
okchat.subscribe -- Allows a player to subscribe/unsubscribe to/from a channel
okchat.channel -- Switches your active channel
okchat.message -- Allows you to message a channel you're subscribed to, but is not active
okchat.channel.<channel> -- Allows you to subscribe to protected channel <channel>
okchat.signcolor -- Allows a player to use color codes on signs
okchat.chatcolor -- Allows a player to use color codes in chat... May not work well with word-wrapping

Attempted fix for "StringOutOfBoundsException". This is a java bug. Screw you, replaceAll.

Version 3.0.6​

Fixed player list formatting. Turns out I had disabled it. Why? No idea.

Spoiler(Move your mouse to the spoiler area to reveal the content)Show SpoilerHide Spoiler

Spoiler(Move your mouse to the spoiler area to reveal the content)Show SpoilerHide Spoiler

Version 3.0.5​

Added the config boolean "general.strip-log-color" to strip all color from logged chat. This feature sure is extremely useful.

Version 3.0.4​

Priority overhaul to fix compatability with other plugins such as xAuth, modifyworld, mcMMO, etc...

Version 3.0.3​

​

Fixed not being able to whisper players with an underscore in their names. I forgot you could use underscores...

Version 3.0.2​

Fixed local chat not showing up to the player chatting.

Added console logging of chat.

Version 3.0.1​

Added %time% variable. You can configure the format in "general.time-format".

Added "okchat.chatcolor" node. Guess what it does? Won't work well with word wrapping, due to the way it splits long chat messages into multiple messages.

Version 3.0.0​

Complete recode. Added a lot of features. Check the config and you'll understand.

Version 2.2.1​

Made %currentplrs% and %maxplrs% usable in more messages.

Version 2.2.0​

Added optional logging of PMs/replies. Check the example config to see what key you need to add, or OKChat will not work if you do not delete your configuration first.

Version 2.1.3​

Setting join,quit,kick messages to "default" will cause them to remain unaltered. Setting them to empty values, or removing them from your config file will result in the message being removed completely.

Added /dnd <message>. It's like /dnd, but your custom message is also shown to the player whispering you.

Version 2.0.2​

Tablist names are now set 5 seconds after login.

Version 2.0.1​

Updated for 1240.

Version 2.0.0​

Added /who command.

Added motd.

Added "TAB" player list formatting.

Added the ability to use color codes with signs.

Misc additions and rewrites.

Added compatability with GroupManager.

Added compatability with bPermissions.

Version 1.5.0​

Compressed code.

Added hooks for future handlers for persistent pms.

Added anonymous stat sending option.

Version 1.4.2​

Added /m to the incredibly large list of /w aliases.

Version 1.4.1​

Added the /afk command. Node: okchat.afk.

Added the "%status%" formatting variable. If a user has DND turned on, it will be <DND>. If a user has AFK turned on, it will be <AFK>. DND takes priority over AFK. This can be coloured and used in all chat formats, including DND, ignore, regular chat, whispers and the like.

Version 1.4.0​

Added Persistent messaging along with the /pm command. /pm <target> <message> will send someone a message, and any further regular chat will be sent to this player, as a message. /pm clears this status.

Version 1.3.3​

Fixed a bug where the DND status wouldn't work if you were ignoring someone.

Version 1.3.2​

Added the weight value for chat formats. If a player has 2 format permissions nodes, the format with the highest config.yml weight value will be used.

Version 1.3.1​

Fixed a bug with replies.

Version 1.3.0​

Added an ignore system. This ignore list is reset when you log out or get kicked.

Added a DND system. This mode is reset when you log out or get kicked.

Made OKChat use commands /w,/whisper,/r,/re,/reply,/msg,/message,/tell,/respond...because I can.

Iv'e been trying to get a specific setup on my server for a long time, I've tried every chat plugin, and although this one comes the closest I don't think it can do what I want.

Heres what I'm trying to do.
I have multiple worlds, spawn, freebuild, and flatbuild.
I want two channels, a general channel, and an admin channel.

I would like to have it so the general channel allows players in the spawn world to talk to other people in the spawn world and to everyone in the admin channel but NOT in general chat in the other worlds.

for example from the view of a player in the spawn world:
[Spawn][General][Guest]newbie: Hello?
[FreeBuild][AdminChat][Admin]adminguy: Hi, welcome to the server.

For the admin channel I would like players to see everything, and talk to everyone in every channel.

The same conversation from the view of a player in the admin chat:
[Spawn][General][Guest]newbie: Hello?
[FreeBuild][AdminChat][Admin]adminguy: Hi, welcome to the server.
[FreeBuild][General][Builder]tom: I have to go.
[FlatBuild][General][Builder]fred: Aww, bye tom!

The same conversation from the view of a player in the general chat, in the freebuild world:
[FreeBuild][AdminChat][Admin]adminguy: Hi, welcome to the server.
[FreeBuild][General][Builder]tom: I have to go.
[FlatBuild][General][Builder]fred: Aww, bye tom!

I was wondering if this is possible with this plugin, and is so can anyone help figure out how to set it up?
Hope this wasn't to confusing.
Thanks in advance!

Iv'e been trying to get a specific setup on my server for a long time, I've tried every chat plugin, and although this one comes the closest I don't think it can do what I want.

Heres what I'm trying to do.
I have multiple worlds, spawn, freebuild, and flatbuild.
I want two channels, a general channel, and an admin channel.

I would like to have it so the general channel allows players in the spawn world to talk to other people in the spawn world and to everyone in the admin channel but NOT in general chat in the other worlds.

for example from the view of a player in the spawn world:
[Spawn][General][Guest]newbie: Hello?
[FreeBuild][AdminChat][Admin]adminguy: Hi, welcome to the server.

For the admin channel I would like players to see everything, and talk to everyone in every channel.

The same conversation from the view of a player in the admin chat:
[Spawn][General][Guest]newbie: Hello?
[FreeBuild][AdminChat][Admin]adminguy: Hi, welcome to the server.
[FreeBuild][General][Builder]tom: I have to go.
[FlatBuild][General][Builder]fred: Aww, bye tom!

The same conversation from the view of a player in the general chat, in the freebuild world:
[FreeBuild][AdminChat][Admin]adminguy: Hi, welcome to the server.
[FreeBuild][General][Builder]tom: I have to go.
[FlatBuild][General][Builder]fred: Aww, bye tom!

I was wondering if this is possible with this plugin, and is so can anyone help figure out how to set it up?
Hope this wasn't to confusing.
Thanks in advance!

Click to expand...

If u r using MultiVerse u can cange it like u want.. it will use the Foldername of the World as a Prefix

I used to use okchat but I had to switch because I run a faction server and players would get confused when people switched factions and telling who was their enemy. Any chance you might make a %faction% variable?

This plugin is great. But I came across this issue when I was playing around with it: I want a channel called Global to be protected so I set its protected value to true. After doing this I am still able to join this channel. I use PermissionsEx and have only the following permission: okchat.subscribe. By using the /sub Global command I can enter the channel and talk in it. Shouldn't the plugin prevent me from doing so unless I have the okchat.channel.Global permission?

List of players shown when using the TAB key only shows up for about 10 seconds, then the list goes blank. i.e;, I log in, I press my tab key, I see the list of players. Go about my business, check it again, 100% empty.

# Configure the server player list here(press TAB).
player-list:
# Configure the format for player names here. Set to ''(empty) or 'none' to disable.
format: '%prefix%%displayname%'

When I attempt to change my chat channel it says i am not subscribed to that channel. Is there a way to auto subscribe my users to these channels so that they can switch between them at their discretion without previously subscribing?

23:13:29 [INFO] /50.23.30.168:35541 lost connection
23:13:33 [SEVERE] Could not pass event org.bukkit.event.player.PlayerChatEvent to OKChat
java.lang.StringIndexOutOfBoundsException: String index out of range: 1
at java.lang.String.charAt(String.java:695)
at java.util.regex.Matcher.appendReplacement(Matcher.java:761)
at java.util.regex.Matcher.replaceAll(Matcher.java:905)
at java.lang.String.replaceAll(String.java:2210)
at net.kalmanolah.okchat.OKChannels.handleChatMessage(OKChannels.java:155)
at net.kalmanolah.okchat.OKChatHandler.handleChatMessage(OKChatHandler.java:28)
at net.kalmanolah.okchat.OKPlayerListener.onPlayerChat(OKPlayerListener.java:39)
at org.bukkit.plugin.java.JavaPluginLoader$6.execute(JavaPluginLoader.java:305)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:57)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:453)
at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:742)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:725)
at net.minecraft.server.Packet3Chat.handle(Packet3Chat.java:33)
at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:100)
at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78)
at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:537)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:435)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:465)

Kalman Olah, Just wanted to let you know that the sign colors / permissions don't seem to work period. I use pex but it seems to work with 99% of plugins. I even did - -okchat.signcolor to remove the ability and still could place colored signs.