Plugin category: CHAT Suggested name: ChatBox, ChatterBox, CrazyChat, etc (Really it's up to you) What I want: I have been looking for ages for a great chat plugin that will do exactly what I am aiming for. I have tried just about every chat plugin out there, however, the majority of them do not allow that amount of customization that I need. I want a chat plugin that is compatible with the majority of other plugins out there (ex. Factions). It needs to have complete customization of nearly every factor that is setup in code. In addition, an API would be wonderful for other developers out there, however, this is not a necessary element. The plugin should have separate chat channels that allows for public, private, and password-protected channels. The ability to join a channel should have a set permission node. There must be a default channel in which all players are forced to join when the join the game. When a player focuses on a channel, they should still be able to see other channels unless they use a command to leave the channel. I have started coding this chat plugin, but I realized that my server needs the majority of its base plugins to be re-coded, so I have started on other projects. This is my idea of how the config should look. Spoiler (Move your mouse to the spoiler area to reveal the content) Show Spoiler Hide Spoiler Code: default: Global log: true format: default: '[%color%%channel%]%faction%[%prefix%][%player%] %message%' parse-faction: '[%faction%]' groups: Guest: prefix: '[Guest]' suffix: '' color: '&8' Regular: prefix: 'Regular' suffix: '' color: '&f' Officer: prefix: 'Officer' suffix: '' color: '&b' VIP: prefix: 'VIP' suffix: '' color: '&a' Owner: prefix: 'Owner' suffix: '' color: '&5' Config.yml Documentation: Spoiler (Move your mouse to the spoiler area to reveal the content) Show Spoiler Hide Spoiler Code: default - The default channel that all players must join log - Default log option for for all channels format.default - The format for the chat. Of course all the string references should be replaced with the correct string.. format.parse-faction - How the %faction% should be parse. This is an option so that the plugin can check to see if the player has a faction. This will allow for a cleaner chat layout. groups - How each group should be handled in the format. File structure for the plugin: Spoiler (Move your mouse to the spoiler area to reveal the content) Show Spoiler Hide Spoiler Inside the channels folder there will be files names like this: <channel name>.yml. The channel config should look like this: Spoiler (Move your mouse to the spoiler area to reveal the content) Show Spoiler Hide Spoiler Code: name: Global channel-nick: G format: '%default%' password: '' color: &f distance: 0 log: true cross-world: true Channel config documentation: Spoiler (Move your mouse to the spoiler area to reveal the content) Show Spoiler Hide Spoiler Code: name - Name of the channel channel-nick - A nickname for the channel that can be used to focus on the channel using a command and/or parsed in the format for the chat. format - The format for the channel. Default is replaced with the default layout setup in the config.yml password - Where the channel password will be stored if required color - The color of the channel. Can use server protocol color codes distance - The radius of a circled, measured in blocks, that the channel will be visible in the chat log - Should the chat be logged to a separate file? cross-world - If the channel should be visible to all worlds on the server (This would be an awesome feature, but not required) Ideas for commands: /ch create - Creates a channel /ch leave - Leaves a channel /ch <channel nick> - Joins a channel /ch mute - Mutes a player from a channel /ch ban - Ban's a player from a channel /ch reload - Reloads the plugin's configuration /ch kick - Kicks a player from a channel /ch delete - Deletes a channel Ideas for permissions: <pluginname>.groups.<group name> - Sets a player's group to <group name> <pluginname>.create - Creation of a channel <pluginname>.reload - Reloads the plugin <pluginname>.mute - Able to mute a player in a specific channel <pluginname>.join.<channel> - Ability for a player to join a channel <pluginname>.leave.<channel> - Ability for a player to leave a channel <pluginname>.talk.<channel> - Able to talk in a channel <pluginname>.kick - Able to kick player from channel <pluginname>.ban - Ban player from channel <pluginname>.delete - Ability to delete a channel <pluginname>.color.<channel> - Allows server protocol color codes to be used in a channel <pluginname>.autojoin.<channel> - Player joins this channel when they first join the game <pluginname>.forcejoin.<channel> - Forces player to join a channel <pluginname>.forceleave.<channel> - Forces player to leave a channel When I'd like it by: Preferably before Thanksgiving. Note: Any item can be changed according to the developer. If you would like any more information feel free to leave a comment and I will respond to it as soon as I can. If you would like to talk privately PM me and I will provide my skype name. Bump EDIT by Moderator: merged posts, please use the edit button instead of double posting.
Great idea. I was working on something similar. Then I realised that HeroChat exists. I suggest you use it.
Already tried it and it is the closest to what I am aiming for, however, not only is the support terrible for it, but also the way that it handles the chat in relationship to Factions is also terrible. Maybe terrible is a little harsh, but I'm sure you get my point. Herochat will not correctly parse Faction(beta 1.7.7) tags in chat either.
Well thing is I have been waiting months upon months. I have contacted both dev teams multiple times with and I always get little to no response.
Well theres really no need to try and contact them, either way its getting done. People have lives outside plugin developing, so they dont want to spend every moment working on one, so it may take a while but atleast its getting done, slowly but surely. And factions does have herochat support which does work, just setting it up gets confusing...