Inactive [CHAT] iChat 2.4.4 - Custom Chat Formatting [1337]

Discussion in 'Inactive/Unsupported Plugins' started by Drakia, Feb 24, 2011.

Thread Status:
Not open for further replies.
  1. Offline

    Drakia

    iChat 2.x - Custom Chat Formatting
    Version: 2.4.4
    CraftBukkit: 1337

    Plugin Support:
    PermissionsBukkit
    bPermissions
    Permissions 2.x
    Permissions 3.x

    If you are requesting help, post your entire server log (From the time it opens, until somebody talks), your entire Permission config file (As well as what it's named), and iChat config files. This information is REQUIRED for me to help you.
    http://pastebin.com/ <-- Post configs there when asking for help

    =============
    Description
    =============
    Custom chat formatting.
    Based on the idea of iChat v1.5 by Nijikokun.
    Includes code and concepts from mChat by MiracleM4n <https://github.com/MiracleM4n/mChat/>

    Before downloading: iChat 2.4.x has quite a few changes over the 2.3.x branches. All permissions plugins are handled in one plugin, and they all operate in relatively the same way now. This means you WILL need to redo your configs.
    Download (Direct JAR): http://thedgtl.net/bukkit/iChat.jar
    Source: https://github.com/TheDgtl/iChat

    =============
    Features
    =============
    Supports Permissions (Both 2.0 and 2.1), and SuperPerms handlers (PermissionsBukkit, bPermissions, and PermissionsEx).
    Allows you to specify a prefix/suffix/variable for users and groups on a per-world or global basis.
    A user-specific prefix/suffix/variable will take priority over a group prefix/suffix/variable, a world-based prefix/suffix/variable will take priority over a global prefix/suffix/variable.
    Unlimited amount of custom variables for use in chat format.
    Colors are supported in all parts of the formatting and chat text.
    Usable health bar and health amount in the formatting.
    Support for formatting of /me

    =============
    Formatting
    =============
    Message formatting is defined in the file plugins/iChat/config.yml
    The message formats can contain characters, color codes, and variables.
    To use colors use the standard Minecraft color codes found here: http://www.minecraftwiki.net/wiki/Classic_Server_Protocol#Color_Codes

    Available variables:
    +prefix - The prefix for this user, or this users group if they don't have one defined.
    +suffix - The suffix for this user, or this users group if they don't have one defined.
    +name - The users name
    +displayname - The users display name (Set by plugins such as Towny)
    +iname - The iChat formatted player name (Defined by iname-format)
    +group - The users group
    +healthbar - A visual health bar for this user
    +health - The users current health value (Between 0 and 20)
    +message - The message the player typed
    +world - What world the player is currently in
    +time - Timestamp, configurable in config.yml. Uses the format for SimpleDateFormat - http://bit.ly/dscw40

    Example (Default):
    Code:
    iname-format: '[+prefix+group+suffix&f] +displayname'
    message-format: '+iname: +message'
    me-format: '* +name +message'
    date-format: 'HH:mm:ss'
    handle-me: true
    Example date-format (Default):
    date-format: 'HH:mm:ss'

    As of iChat 2.4.0 there have been a few changes in the way variables and groups are handled.

    ==========
    Groups
    ==========
    As of iChat 2.4.3 native groups are supported in Permissions 2.x/3.x, PermissionsBukkit, bPermissions, and PermissionsEx.

    ==========
    Variables
    ==========
    Variables are now defined in variables.yml in the iChat directory. This includes prefixes, suffixes, and custom variables.
    You can define an unlimited number of custom variables for groups and users, if these variables contain the static variables such as +prefix,
    +suffix, +health, etc then those variables will be replaced with their respective values.
    If a variable does not exist then it will be replaced with a blank string.

    As of iChat 2.4.4 you can now specify world-specific variables. To specify a per-world group or user variable (Prefix, suffix, or variable) you just specify it under the world as shown in the 'world' example in the default variables.yml below. Anything specified in the parent 'users' or 'groups' nodes will be considered global for all worlds.

    Default variables.yml:
    ---------------------
    Code:
    # iChat Variable Config
    # This is now the only method for defining variables
    users:
        Drakia:
            prefix: '&e'
    groups:
        Admin:
            prefix: '&c'
            suffix: ''
        Default:
            prefix: ''
            suffix: ''
    world:
      users:
        Drakia:
          prefix: '&a'
    Default config.yml:
    ---------------------
    Code:
    handle-me: true
    date-format: HH:mm:ss
    message-format: '+iname: +message'
    me-format: '* +name +message'
    iname-format: '[+prefix+group+suffix&f] +displayname'
    =============
    Examples
    =============
    To make a group colored:
    variables.yml:
    Code:
    groups:
        Default:
            prefix: '&4'
            suffix: ''
    config.yml:
    Code:
    message-format: '[+prefix+group&f] +name: +message'
    To make a single username colored:
    variables.yml:
    Code:
    users:
        Drakia:
            prefix: ''
            suffix: '&1'
    Config:
    Code:
    message-format: '[+prefix+group&f] +suffix+name&f: +message'
    As you can see, suffixes and prefixes can be used anywhere, in any combination. In this example we use prefix as a method for coloring group names, while suffix is used to color individual users. On our server we have prefixes such as "&f[&2Mod&f] " so that we can have custom tags per group instead of just the groups name. There is no end to the combination of things you can do, please TRY things before you come asking for someone else to do it for you. There are too many combinations of things for me to answer every question about how to color specific things.
    I will not be offering answers to questions such as "How do I color names?" or really anything else to do with specifics of formatting. It's pretty straightforward what you can do, and if you can't take the time to experiment then I'm not going to take the time to answer your questions.

    =============
    Configuration
    =============
    iname-format - The format used for +iname (Default: '[+prefix+group+suffix&f] +displayname')
    message-format - The format used for basic chat (Default: '+iname: +message')
    date-format - The format used for +date (Default: 'HH:mm:ss')
    me-format - The format used for /me commands (Default: '* +name +message')
    handle-me - Whether to handle /me commands (Default: true)

    =============
    Permissions
    =============
    ichat.color - Allow this group/user to use color in their chat messages.
    ichat.reload - Allow this group/user to use "/ichat reload"

    =============
    Commands
    =============
    /ichat reload - Reload the iChat config file

    =============
    F.A.Q.
    =============
    Q) Why is my custom message format not working? I just get the default output. Or output with no variables filled in.
    A) If you're using Permissions 2.1, make sure your Permissions config file is named "{worldname}.yml" where {worldname} is the name of your world. If you're using Permissions 2.0, make sure your Permissions config is named config.yml

    Q) How do I set the brackets color to the same as the group?
    A) Normally you have the brackets in the message-format variable, but you can just as easily move them into prefix/suffix and that way they can be per-group colored!

    Q) Why is my entire string colored? I just put a color code beside +name!
    A) A color code will persists until another color code is encountered, or the end of the line is reached. To change the line back to white use &f after the variable/string you want colored.

    Q) Why are my OPs names red?
    A) Essentials has this functionality built in. Change "ops-name-color" to 'none' in your Essentials config file.

    Q) Why does {PluginX} not work with iChat?
    A) There's a good chance it does, but you need to use +displayname instead of +name.

    Q) Why does Towny not work with iChat?
    A) iChat no longer uses %1$s for the player name, it uses player.getName() and player.getDisplayName(), until such a time that Towny is updated to use the proper method of setting a players name (Set their displayName) it will not work with iChat.

    =============
    Changes
    =============
    [Version 2.4.4]
    - Updated to new FileConfiguration class
    - Fixed bypass exploit for colors in messages
    - Multi-world support for variables.yml
    - Resolved an issue with /me not reloading player variables
    [Version 2.4.3]
    - Permissions overhaul. No longer require group.{name} node unless not using a permissions handler
    [Version 2.4.2]
    - Fixed issue with inheritance in Permissions
    - Implemented start of online time variable. Need output format.
    [Version 2.4.1]
    - Remove plugin-specific group referencing. All groups are now managed via group.* nodes,
    the exception being pure Permissions 2.x/3.x
    - Fixed /ichat reload not reloading variables.yml
    - Updated /me to use BroadcastMessage
    [Version 2.4.0-final]
    - Took out variable caching, there's no hook for PermissionChange.
    - Updated README to include info on group.* nodes
    [Version 2.4.0-beta]
    - Merged all branches into one
    - Supports Perms 2.x/3.x, SuperPerms, GroupManager
    - Added a more advanded API based on the mChat API
    - Massive thanks to MiracleM4n for code and concepts
    - All variables are now retrieved from variables.yml instead of Permissions
    - Removed censor code
    [Version 2.3.2-p3]
    - Set Permissions as a dependency in plugin.yml
    - Added Permissions 3 support to the -p3 jar
    [Version 2.3.1]
    - Added iChat.ichat.parseChat(Player, String, Format) API
    - Added hook for /me chat formatting using the "me-format" config option
    [Version 2.3.0]
    - Added external iChat.ichat.parseChat(Player, String) API
    [Version 2.2.3]
    - Added +displayname/+d for player.getDisplayName()
    [Version 2.2.2]
    - Updated to latest RB
    [Version 2.2.1]
    - Updated how Permissions is loaded
    [Version 2.2.0]
    - Added the ability to have an unlimited amount of variables in message-format
    - Changed versioning scheme
    [Version 2.11]
    - Now uses per-world permissions information
    [Version 2.10]
    - Allow admins to enable color on a permissions basis
    [Version 2.09]
    - Another small update to Permissions (Returned false when I should have returned true)
    [Version 2.08]
    - Pushes PacketCollisions PermVersion change. Fixes issues with 2.5.2
    [Version 2.07]
    - Added +time tag
    [Version 2.06]
    - Added +world tag
    [Version 2.05]
    - Ignore whether the plugin is GM, just treat everything as Permissions! Means you need FakePermissions.
    [Version 2.04]
    - Added the ability to use variables in the suffix and prefix (More customizeable messages)
    [Version 2.03]
    - Verify that all available variables aren't null before calling parse
    - Fixed crash caused by color code at end of message (Basic fix, added a space)
    [Version 2.02]
    - Fix for possible NPE
    [Version 2.01]
    - There's a bug in Permissions 2.1 in getPermissionString, switched to getUserPermissionString
    [Version 2.00]
    - Initial re-write of Niji's plugin.
    - Added Permissions 2.0/2.1, and GroupManager support.[/b]
     
    FFS2309, Lolmewn, wassilij and 12 others like this.
  2. Offline

    Schlumpfpirat

    Nicks are no longer shown in the chat?
     
  3. Offline

    Karaen

    Use +displayname rather than +name for the nick to show up

    Also, I just wanted to say I've had no problems getting it to work with permissions 3.x
    I rather enjoy how simple this plugin is to setup and continue to use, Thanks for all the work.
     
    Schlumpfpirat likes this.
  4. Offline

    thtRedstoneGUI

    Same here.
    Thanks for your work Drakia!

    You'll need to use your own format then to allow for that.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 10, 2016
  5. Offline

    Jandalf

    then u have a &f in the message format before the +message
     
  6. Offline

    IAmThaOwner

    Sorry if asking a dumb question, but will ichat ever support permissions 3.0?
     
  7. Offline

    ZacGod

    Drakia,
    I have been using this plugin for quite some time now and I think its great! I have NO trouble with permissions 3.x except I would like to know if there could be an option to read the groups out of globalUsers.yml! that would make this work perfectly for me :D

    Awesome plugin i just removed the group prefixes and it works fine in permissions 3.x!
     
  8. Offline

    Blairjam

    is there a way to reload the config without restarting the sever?
     
  9. Offline

    vasil7112

    Guyz Start Telling To Support the Permissions 3.x Because they have ingame commands!!!!
    Drakia Everyone would like to have edit and promote his members ingame..because ther is only one owner and then admins and only owner can promote them...
    So plz help us and support Permissions 3.x!!!
    Thnx!!!
    This will be better for me and all the others that have their friends to be admins e.t.c
    Plz answer soon
    And again thnx!
     
  10. Offline

    Jeyge

    For all those begging for Permissions 3.x support, have any of you even tried it? The one bug that was discovered soon after 3.x came out was fixed back in 3.0.2 or 3.0.3.

    Edit - Oh, one thing with 3.x support though. Fixing that bug just allowed iChat and all other chat plugins to work with 3.x but not fully support 3.x. Multi-group support will have to come later at the devs desire.
     
  11. Offline

    cpalms

    Is there a way to just make players name's that are in a group colored?

    For example:
    Builder's color is Green but I dont want it to read like
    " [Builder] Playername:"
    but simply
    "Playername"

    In other words, I dont want the prefix, just the color.

    Is this possible?
    thanks.
     
  12. Offline

    Jeyge

    You could use either of these to do that. The first would allow you to change the color of the message using the suffix and the second would just keep the message white.
    Code:
    message-format: '+prefix+name+suffix: +message'
    message-format: '+prefix+name&f: +message'
    
     
  13. Offline

    SynMonger

    While it may work, it doesn't work well. It will not read from the global groups or users, which means anyone using McMyAdmin's Permissions export is out of luck unless they want to manually copy the groups and user files to each world folder.
     
  14. Offline

    Jeyge

    He doesn't choose which file to read from. That would be something that Permissions does. He just requests the prefix and suffix so that wouldn't be anything he could fix anyway.
     
  15. Offline

    Drakia

    Yeah, I'm not quite sure how it is my choice at all what file to read from. Permissions should be reading from the global file if there is no set permissions in the specific world folder. If the dev screwed that up it's yet another reason for me not to switch/update.
    I have absolutely no plans to update past 2.7.x until it is absolutely necessary. And this plugin and all of my other plugins will only be updated to 3.x when that time comes.
     
  16. Offline

    JSmoove98

    keep on getting a & before everyones names
     
  17. Offline

    GameFreakDude

    Post your configuration file, please. We can't remedy your problem with this tremendous lack of information you provide.
     
  18. Offline

    gmore70

    Everytime I try to load this...or any version of this - the config.yml file gets blown away by the server. Im guessing its a format issue, but I just spent 20 minutes reading everything here and I cant find any thing that can help. So if someone could help, that would be great! If your troll...I bite back!

    censor-list: []
    censor-color: '&f'
    date-format: HH:mm:ss
    message-format: '[+prefix+group+suffix&f] +world+name+healthbar: +message'
    me-format: '* +name +message'
    censor-char: '*'
    censor-string-color: '&f'
    censor-colored: false

    When I say blown away, after a restart, my config.yml for Ichat shows this:

    censor-list: []
    censor-color: '
     
  19. Offline

    Jeyge

    Are you perhaps on a Multiplay server? Also, when you say restart, do you mean that you shut the server down, make some changes then restart it and it ends up that way?
     
  20. Offline

    gmore70

    Yes, I am running a multiplayer server. I change the config.yml the restart the server
     
  21. Offline

    Jeyge

    Not a SMP server but a server hosted with the Multiplay wrapper?
     
  22. Offline

    DoomBunnyPwn

    For everyone telling Drakia to update, you realize that's why he isn't doing it, right? He feels that the members of this site are a little ungrateful considering how much benefit they receive for free.
     
    Jandalf likes this.
  23. Offline

    Drakia

    Don't worry too much, I'm having a lot of fun sitting here with my completely working Permissions 2.7.x install laughing at everyone scrambling trying to get 3.x to work with everything ;)

    As for anyone posting errors, I'm not even going to bother looking into your problems unless you go read the big red text in that first post you should have read by now.
     
  24. Offline

    Jeyge

    I'm with you there. While I have a test server running 3.x and am willing to answer questions about it, my live server is still running 2.7.4 without any problems at all. And throw the McMyAdmin screw-up into the mix and you have yourself some fun.
     
  25. Offline

    gmore70

    I have a minecraft bukkit server running ichat and bunch of stuff. It does have McMyAdmin....but bukkit plugin and permissions are not control by McMyAdmin. Im doing both the old fashion way.

    Its been running perfectly since feb 2011, but when I tried to add +world it all stopped working.
     
  26. Offline

    Drakia

  27. Offline

    Steamtard

    I dont get it, how do i set prefixes? Is there ingame commands? Im a bit stupid for that kinda stuff.
     
  28. Offline

    GameFreakDude

    Prefixes and suffixes are controlled by your Permissions config file.
     
  29. Offline

    gmore70

    you know, I am sure it will all sort itself out....im just moving on using the default config.yml. Im sure as the different plugins update, it will start to work again.
     
  30. Offline

    Magister

    This doesn't work for me. I have Build 860, with Permissions 2.7.
    My configs:
    iChat:
    Code:
    censor-list: []
    censor-color: '&f'
    date-format: HH:mm:ss
    message-format: '+prefix +name: +message'
    me-format: '* +name +message'
    censor-char: '*'
    censor-string-color: '&f'
    censor-colored: false
    
    My Permissions:

    Code:
    groups:
        Guest:
            default: true
            info:
                prefix: '&7&7Guest&7&f'
                suffix: ''
                build: false
            inheritance:
            permissions:
                - 'foo.bar'
        Moderator:
            default: false
            info:
                prefix: '&6&6Moderator&6&f'
                suffix: ''
                build: true
            inheritance:
                - Default
            permissions:
                - 'bar.foo'
        Admins:
            default: false
            info:
                prefix: '&4&4Admin&4&f'
                suffix: ''
                build: true
            inheritance:
            permissions:
                - '*'
    groups:
        Citizen:
            default: true
            info:
                prefix: ''
                suffix: '&3&3Citizen&3&f'
                build: true
            inheritance:
            permissions:
                - 'foo.bar'
    ##
    # Users denote which users are included in which group.
    # TheNo1Yeti is in the Admin group
    # Herpina is a member of the Moderator group but also has access
    # to the herp.derp permissions
    # Derpina is a member of the admin group but does not have access
    # to the derp.derp permission node
    # Users can also have a prefix and suffix as seen with Herpina
    ##
    users:
        MagisterPS3:
            group: Admins
            permissions:
        Herpina:
            group: Moderator
            info:
                prefix: 'Moo'
                suffix: 'Cow'
            permissions:
                - 'herp.derp'
        Derpina:
            group: Admins
            permissions:
                - '-derp.derp'
    
    HELP ME PL0X
     
  31. ok so i was just wondering is there a possible way to make either your rank or name or both (even better) rainbow coloured? like a mixture of different colours. Also i have noticed the many bad replys to this thread i think you guys should grow up and thank him, so thank you for making this wonderful plugin!
     
Thread Status:
Not open for further replies.

Share This Page