[Formatted][Chat] A Chat Plugin to Dominate Them All

Discussion in 'Archived: Plugin Requests' started by exload, Nov 4, 2012.

  1. Offline

    exload

    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.
    Show 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:
    Show 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:
    Show Spoiler

    [​IMG]

    Inside the channels folder there will be files names like this: <channel name>.yml. The channel config should look like this:
    Show Spoiler
    Code:
    name: Global
    channel-nick: G
    format: '%default%'
    password: ''
    color: &f
    distance: 0
    log: true
    cross-world: true

    Channel config documentation:
    Show 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.
     
    Last edited by a moderator: May 29, 2016
  2. Offline

    exload

    I never bump my own posts but I really need this one.
     
  3. Offline

    YoshiGenius

    Great idea. I was working on something similar. Then I realised that HeroChat exists. I suggest you use it. :)
     
  4. Offline

    exload

    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.
     
  5. Offline

    exload

    Still searching.. I suppose I can put together a temporary plugin for this.
     
  6. Offline

    xXSniperzzXx_SD

    Just be patient, Factions and HeroChat are working together to add compatibility
     
  7. Offline

    exload

    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.
     
  8. Offline

    xXSniperzzXx_SD

    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...
     
  9. Offline

    exload

    Yes it does have Herochat support, however, it does not parse the tags properly in beta 1.7.7.
     

Share This Page