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


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

    Plugin Support:
    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. <-- Post configs there when asking for help

    Custom chat formatting.
    Based on the idea of iChat v1.5 by Nijikokun.
    Includes code and concepts from mChat by MiracleM4n <>

    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):

    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

    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:

    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 -

    Example (Default):
    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.

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

    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:
    # iChat Variable Config
    # This is now the only method for defining variables
            prefix: '&e'
            prefix: '&c'
            suffix: ''
            prefix: ''
            suffix: ''
          prefix: '&a'
    Default config.yml:
    handle-me: true
    date-format: HH:mm:ss
    message-format: '+iname: +message'
    me-format: '* +name +message'
    iname-format: '[+prefix+group+suffix&f] +displayname'
    To make a group colored:
            prefix: '&4'
            suffix: ''
    message-format: '[+prefix+group&f] +name: +message'
    To make a single username colored:
            prefix: ''
            suffix: '&1'
    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.

    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)

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

    /ichat reload - Reload the iChat config file

    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.

    [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


    Yeah Sorry, All those are updated. I was working with things yesterday. What I said up there is the new updated version 2.4.1 and 1240. And not sure why bukkit is saying 1298. Its not even out yet. Yet nothing is working
  3. Offline


    Groups and group inheritance have a little bug. Say "admin" inherits the rights from "user" where user has group.user: true and admin has group.user: false and group.admin: true. The current version of iChat doesn't check for the value. It only checks that a permissions node is there. Because of that, iChat selects a random group everytime you write something.

    I've submitted a small fix to github. Haven't tested it yet (not even compiled it) but it should work.
  4. Offline


    I used everytime Permissions 3.x and all worked fine. After 935 it wasn't updated anymore. I switched to PermEx, because it runs with Perm 2.x. In Minecraft 1.8 (when iChat wasn't updated for 1.8) iChat worked with PermEx, but when the update came, nothing worked anymore. I tried a lot, nothing helped. Now is my question: How to get Perm 2.x/3.x updated and how did you got? Why iChat doesnt worked anymore with PermEx after the update?
    Please help me, the players of my server are very stressed out from waiting till everything work fine.
    Sorry for my annoying german-english.
  5. Offline


    Yup Inheritance doesn't seem to work for me either.
    Edit: And no clue on how to use that fix.
  6. Offline


    Not sure if that's what your problem is, but after 2.4.x, you need to put the Suffix Prefix in the variables.yml file instead of permission file.
  7. Offline


    I will look into this this weekend, thanks.

    @G4meM0ment You gave me no useful information to help you. Re-read the first post.
  8. Offline


  9. Offline


    Is your group declared in groups with same spelling? I'm asking this because on my server my groups and their names are different. Example the Vip group is something like Vip48973 (not actual).
  10. Offline


    This happens to me too.
  11. Offline


    Before ypu updated iChat for 1185 it worked with Perm 2.x fine. After you updated it nothing worked anymore (and i USE variables + - Do you know why?
    And one more thing, you said in one post you would use perm 2.x but it inst updated, where did you get it?
  12. Offline


    My server still uses permissions 2.7.4 with the latest iChat (2.4.1). It works.
    The only thing I did differently then the original thing is that my groupnames are inside the prefixes. I can post you my config tonight if it helps you.
  13. Offline


    Yes, that would help me very much :D ! Thank you.
  14. Offline



    Why do I get [Ichat] Premissions not found, using superPerms ?
    I use supported PermissionsBukkit Plugin.
  15. Offline


    That's why it works...all other permissions besides the older (better) permissions use :true :false after the node. iChat is not noticing when we put :false so that the group does not inherit it.
  16. Offline


    I use perm3 and I haven't used :true or :false, yet they still work.

    I however cannot get the [tags] to show up.

            system: default
            default: true
                prefix: '&2'
                suffix: ''
                build: true
                - ''
                - 'essentials.motd'
                - 'essentials.rules'
                - 'essentials.tpa'
                - 'essentials.tpaccept'
                - 'essentials.tpdeny'
                - 'essentials.msg'
                - 'essentials.list'
                - 'essentials.getpos'
                - 'essentials.mail'
                - 'essentials.mail.send'
                - 'essentials.compass'
                - 'essentials.spawn'
                - ''
                - 'worldedit.clipboard.copy'
                - 'worldedit.clipboard.paste'
                - 'worldedit.clipboard.rotate'
                - 'worldedit.clipboard.cut'
                - 'worldedit.history.undo'
                - 'worldedit.history.redo'
                - 'worldedit.navigation.ascend'
                - 'worldedit.navigation.descend'
                - 'worldedit.navigation.thru'
                - 'worldedit.navigation.up'
                - 'worldedit.wand'
                - 'worldedit.selection.pos'
                - 'worldedit.superpickaxe'
                - 'worldedit.selection.expand'
                - 'worldedit.tool.replacer'
                - 'worldedit.clipboard.load'
                - ''
                - 'worldedit.history.clear'
                - 'worldedit.selection.hpos'
                - 'worldedit.navigation.jumpto'
                - 'ichat.color'
            default: false
                prefix: '&c'
                suffix: ''
                build: true
                - '*'
                - 'ichat.color'
                - 'ichat.reload'
            group: Admin
            group: Admin
            group: Admin
    this is my vari.yml
    # iChat Variable Config
    # This is now the only method for defining variables
        name: 'Admin'
        prefix: '&f[&2Admin&f]'
        name: -SB-
        prefix: '&f[&2-SB-&f]'
    Can you see what I'm doing wrong?
    Also what would the nodes be for my perms for iChat?

    I tried it with the group. nodes too and it still doesn't work for me.
  17. Offline


    Alright, so this is my iChat config.yml, running permissions 2.7.4 :

    censor-color: '&6'
    message-format: '+prefix<+name>+suffix&f +message'
    censor-char: '*'
    censor-string-color: '&f'
    censor-colored: true
    This is part of my iChat variables.yml
    # iChat Variable Config
    # This is now the only method for defining variables
            prefix: '&3TrollKingPuka&2'
            prefix: '&3Delphin&2'
            prefix: '&3GLaDOS&6'
            name: Guest
            prefix: '&8'
            suffix: ''
            name: Criminal
            prefix: '[Criminal]'
            suffix: ''
            name: Mag
            prefix: '&aMag'
            suffix: ''
            name: Ice
            prefix: '&bIce'
            suffix: ''
            name: IceVip
            prefix: '&9IceVip'
            suffix: ''
            name: MagVip
            prefix: '&2MagVip'
            suffix: ''
    Someone of rank MagVip shows like this :
    MagVip<ThisIsMyName> text that is normal in white goes here
  18. Offline


    Ok so this needs to be updated for bukkit 1240 as it no longer works with groupmanager. please add this capability back and update the plugin as i enjoy useing it but when it dose not show groups, its worthless. Im not going to bother posting any of the crap, ie the config and server log. because it dosent prove anything in this situation, it just dosent work. stright out. theres no errors, nothing wrong with the config,( i checked it) so im still on bukkit 1185 but i want to get to 1240. so if you could as kindly work on this issue it would be great, thanks.
  19. Offline


    Dis-regard what I said about everything but 2.7 lower using :true and :false. It's (from what I know) is only PermissionsBukkit, which means you don't have to use it. What is your config.yml for iChat? This might be your problem.
  20. Offline


    Sitting here for 3 days try to figure out.. has some one preconfigured files?
  21. Offline



    I have a problem. I use Permissions 3 by yeti, and iChat doesnt show prefixeses.
    My Log:

    2011-10-08 13:51:58 [SEVERE] Error occurred while enabling iChat v2.3.3-p3 (Is it up to date?): tried to access method org.bukkit.craftbukkit.command.ColouredConsoleSender.<init>(Lorg/bukkit/craftbukkit/CraftServer;)V from class net.TheDgtl.iChat.iChat java.lang.IllegalAccessError: tried to access method org.bukkit.craftbukkit.command.ColouredConsoleSender.<init>(Lorg/bukkit/craftbukkit/CraftServer;)V from class net.TheDgtl.iChat.iChat at net.TheDgtl.iChat.iChat.onEnable( at at at org.bukkit.plugin.SimplePluginManager.enablePlugin( at org.bukkit.craftbukkit.CraftServer.loadPlugin( at org.bukkit.craftbukkit.CraftServer.enablePlugins( at net.minecraft.server.MinecraftServer.e( at net.minecraft.server.MinecraftServer.a( at net.minecraft.server.MinecraftServer.init( at at
  22. Offline


    I use PermissionsBukkit 1.2 and i use ichat. but when im trying to use groups I get a different group everytime
    i used the nodes group.Operator: true and group.Admin: false etc. stiff everytime i reload the person I want in the group Operator is in a different group every time. what is happening here?
  23. Offline

    i ThRoW sToNeZx

    Does iChat work with PEX? (PermissionsEX)
  24. Offline


    i dont think so ... im trying out since yesterday ... doenst work right with the groups ...
  25. Offline


  26. Offline


    @Drakia, where are you at on this fix? I have the same issue.

  27. Offline


    At the moment driving to my moms house for thanksgiving weekend. As I said, I will try to get to it this weekend.
  28. Offline

    i ThRoW sToNeZx

    Well, when I start my server with iChat and PEX, on the console, it says :
    '[iChat] Found Permissions Bridge. Using Superperms
    iChat <v2.4.1> enabled'
    but whenever I join the server and talk, It just shows my faction tag and my username, not the prefix for my rank.
  29. Offline


    and you're a dick.
    this is a free plugin, where the creator uses their own time to provide something for the community because they feel like it, not because they have to. yes, there is currently clearly a problem with it, im trying to use PermissionsBukkit, i looked at the new code and it isn't even supported with the codes current state. there are, however, alternatives to this plugin, otherwise you are just going to have to wait patiently like the rest of the community.

    that being said, i'm going to attempt my own temporary build in case its a while before a PermissionsBukkit fix appears (it's thanksgiving weekend after all :3 )... i will post back here if i do get something working and will offer it to whoever wants it.

    ok, so heres the deal. i got iChat to work again with PermissionsBukkit 1.2 on CraftBukkit 1185 (havent tested on 1240 yet)... it seems fine, but i cannot guarantee anything. console isnt giving me errors so far, config is working, with the permission from Drakia, i will provide a download for anyone who wishes to have this temporary fix :)

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: Jul 17, 2016
  30. Offline


    I downloaded this and installed it and configured it with permissions (i think. I'm new to this) and when i type some thing into chat it does this:
    []tyde456:hi (or whatever i type in chat)
    I cant seem to fix this. Can someone help me?
  31. Offline


    I've started my server the first time with the build 1060 then I updated it to build 1149, Everythings gone fine with those build with Ichat and Permissions 3.x ... until I updated my server to build 1240, I'm able to show the prefix but not with the color I want ... It is white or didn't show or I saw default ... It's the single this I loved with Ichat and it's the only things gone wrong ... I want Colored Prefix and differents one... there are my config of Ichat and Permissions 3.x

    EDIT : If I put an older version of Ichat or Permission it's screw up with the build 1240

    EDIT : Problem Found ! I'll made a tutorial for people who know how to fix this problem, I've seen many many forums where people posted about this problem who never get solved. I found why it not work ... just read and not be a noob ;)

    Attached Files:

Thread Status:
Not open for further replies.

Share This Page