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


    Meh it won't work with the newest permissions..
  3. Offline


    Well that's good, then get the frack out of my topic. Also, by coming to my topic strictly to say you won't be using my plugin and calling me names, shows you are just as much of a douche, if not more so, than me.

    @oxysoft The "newest" Permissions has issues, I say stick with 2.x until they sort out what they're doing. Permissions 3.x has gone from 3.0 to 3.1.4 in what? A week or two? That's too many bugs for me to even bother looking at supporting.
  4. Offline


    Oh ok. But will 2.x work with the newest bukkit? I mean has it been updated?
  5. Offline


    @oxysoft Nothing in 2.7.4 broke when they updated Bukkit, it works perfectly fine.
  6. Offline


    Also have you ever hosted a server with servercraft? I got some serious problem with it..
  7. Offline


    why are you even asking that in here
  8. Offline


    No, my servers owner hosts on a pure dedicated box, I manage everything manually.
  9. Offline


    Hm, is it just me, or has iChat just started overwriting essentials nick-function?
    I guess it could be the loading-order or something?
  10. Offline


    @Exone Use +displayname for compatibility with other plugins name changes
  11. Offline


    Yea, I figured. :)
    I just thought it was weird since it was working really well until earlier today ><'

    Awesome plugin. Thanks!
  12. Offline


    No my first post clearly says that it does not work with towny .63. It wasn't until your crappy attitude in your posts, that i told you how i feel.
  13. Offline


    Oh god I'm such a dick, I said that how Towny implements its prefixing is incompatible with iChat, and that this is clearly outlined in the FAQ, that I'd already informed the author of Towny of this, of how to fix it, and it won't be compatible until such a time that he fixes it. /s
    Wait, that doesn't make me a dick, it just means I'm giving you the relevant information in response to your post. I was right, you ARE more of a douche than me, thanks for pointing it out though :) Goodbye, please don't come back. Also, don't bother asking for support in ANY of my plugin topics, welcome to the blacklist.

    For any users or admins who are reading this, here is his oh so helpful post:
    "will not work with towny .63"
    And here is my not very bitchy response:
    "This is an issue with Towny and how it implements its chat prefixing. I have informed Fuzzy of how to fix this, but he has not responded to my post, nor fixed the issue with his update for 818, so don't expect them to be compatible in the near future. This is outlined quite clearly in the FAQ."
    Jandalf likes this.
  14. Offline


    Look I will admit, I was in the wrong for calling you a dick and i apologize. Maybe your not a people person and i understand that. I should have been the bigger person and walk away after the first post. I will not return based on your request.
  15. Offline


    I use the plugin mcMMO. There exists a party system where the members of one party can tolk only in party. With this plugin, the party messages doesn't work
  16. Offline


    That's funny, because this doesn't touch anything that would interfere with mcMMO

    [Version 2.3.1]
    - Added iChat.ichat.parseChat(Player, String, Format) API
    - Added hook for /me chat formatting using the "me-format" config option

    The default format for /me is the same as what would appear without /me, use the "me-format" config option to change it. It can use all of the variables that message-format can use.

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


    When can we expect to see support for Permissions 3.x?
  18. Offline


    When I upgrade my server from the stable 2.7.2 to the buggy 3.x
  19. Offline


    thanks, now the party system from mcmmo works fine with iChat

    how about consoring in this way:
    for example, the word "fuck" is in censor list.
    When I type: "oh fuck.." will display "oh ****"
    but when: "oh fucky" nothing is censoring.
    must be display: "oh ****y" ..
    (sry for my english)

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


    Thats due to the way iChat censors things, it isn't very flexible, any variation on the word (Different capitalisation, extra spaces, repeated letters, etc) will get through the censor.
    ^ That plugin is what I use on my server to filter things, its a vast improvement, and works fine with iChat.
  21. Offline


    For some reason it is not displaying the ranks.
    Can I please get some help?
    Here is the groups of my permissions file:
            default: True
                prefix: '&7 Trial '
                suffix: ''
                build: False
                interact: False
            inheritance: 'null'
              - ''
              - 'essentials.sethome'
              - 'essentials.home'
              - 'essentials.list'
              - 'essentials.rules'
              - 'essentials.afk'
              - ''
              - 'essentials.motd'
              - 'essentials.suicide'
              - ''
              - ''
              - 'essentials.warp'
              - 'essentials.warp.*'
              - 'essentials.plugins'
              - 'players'
              - 'essentials.tpa'
              - 'essentials.tpahere'
              - 'essentials.tpaccept'
              - 'essentials.tpdeny'
              - 'essentials.kit.basics'
              - 'SpawnControl.home.basic'
              - 'SpawnControl.sethome.basic'
              - 'SpawnControl.spawn.use'
              - 'mywarp.warp.sign.warp'
              - 'mywarp.warp.basic.warp'
            default: False
                prefix: '&f Player '
                suffix: ''
                build: True
                interact: True
              - 'Unregistered'
              - 'lwc.protect'
              - 'multihome.namedhome'
              - 'multihome.setnamedhome'
              - 'multihome.home'
              - 'multihome.sethome'
              - 'multihome.deletehome'
              - 'multihome.listhomes.myself'
              - 'essentials.kit'
              - 'essentials.compass'
              - 'craftbook.mech.gate'
              - 'craftbook.mech.light-switch'
              - 'craftbook.mech.elevator.use'
              - 'craftbook.mech.elevator'
              - 'craftbook.mech.ammeter.use'
              - 'craftbook.bookshelf.use'
              - 'craftbook.mech.cauldron'
              - 'essentials.msg'
              - 'essentials.suicide'
              - 'essentials.mail'
              - 'essentials.mail.send'
              - 'multiverse.list'
              - ''
              - 'essentials.signs.disposal.create'
              - 'essentials.signs.disposal.use'
              - 'essentials.signs.heal.use'
              - 'essentials.signs.mail.use'
              - 'essentials.signs.mail.create'
              - 'essentials.depth'
              - 'essentials.getpos'
              - 'essentials.clearinventory'
              - 'craftbook.mech.bridge'
              - 'userstats'
              - 'vanish.nopickup'
              - 'signColours.*'
              - 'essentials.realname'
              - 'petition'
              - 'petition.warp-to-own'
              - 'petition.warp-to-own-if-assigned'
              - 'multihome.invitenamedtimedhome'
              - 'multihome.invitetimedhome'
              - 'multihome.invitenamedhome'
              - 'multihome.uninvitehome'
              - 'multihome.uninvitenamedhome'
              - 'multihome.listinvites.tome'
              - 'multihome.listinvites.toothers'
              - 'mywarp.warp.basic.delete'
              - 'mywarp.warp.basic.welcome'
              - 'mywarp.warp.basic.compass'
              - 'mywarp.warp.soc.give'
              - 'mywarp.warp.soc.invite'
              - 'mywarp.warp.soc.uninvite'
              - 'mywarp.warp.soc.private'
              - 'mywarp.warp.basic.createprivate'
            default: False
                prefix: '&b Mod '
                suffix: ''
                build: True
                interact: True
              - 'Trusted'
              - 'reporter.reports'
              - 'essentials.tempban'
              - 'spyer.spy'
              - 'spyer.stopmobs.admin'
              - 'essentials.time'
              - 'essentials.signs.heal.create'
              - 'worldedit.extinguish'
              - 'worldedit.fixwater'
              - 'worldedit.fixlava'
              - 'essentials.clearinventory.others'
              - 'essentials.kick'
              - 'essentials.plugin'
              - 'essentials.kill'
              - 'essentials.mute'
              - 'essentials.invsee'
              - 'essentials.togglejail'
              - 'vanish.vanish'
              - 'essentials.spawnmob'
              - 'logblock.lookup'
              - ''
              - 'logblock.area'
              - 'logblock.rollback'
              - 'nocheat.notify'
              - 'essentials.heal'
              - 'logblock.tool'
              - 'logblock.toolblock'
              - 'essentials.kit.lbkit'
              - 'essentials.heal.*'
              - 'essentials.god.*'
              - 'essentials.tppos'
              - 'petition.moderate'
              - 'nospam.checkwarnings'
              - 'nospam.checkbanlist'
              - 'nospam.checklogsize'
              - 'worldedit.drain'
              - 'essentials.ban'
            default: False
                prefix: '&c Admin '
                suffix: ''
                build: True
                interact: True
              - 'Moderators'
              - 'essentials.item'
              - ''
              - 'essentials.jump'
              - 'essentials.tpo'
              - 'essentials.tpohere'
              - 'essentials.tphere'
              - 'essentials.tpall'
              - 'essentials.seen'
              - 'essentials.reload'
              - 'essentials.reloadall'
              - 'essentials.plugin'
              - 'essentials.antioch'
              - 'essentials.burn'
              - 'essentials.broadcast'
              - 'essentials.unlimited'
              - 'essentials.lightning'
              - 'essentials.itemspawn'
              - 'essentials.itemspawn.*'
              - 'reporter.*'
              - 'restart'
              - 'commandSigns.*'
              - 'FD.admin'
              - 'essentials.reload-all'
              - 'lwc.mod'
              - 'essentials.nick'
              - 'essentials.heal.*'
              - 'essentials.heal'
              - 'essentials.delwarp'
              - 'essentials.setwarp'
              - 'essentials.socialspy'
              - 'worldedit.butcher'
              - 'worldguard.butcher'
              - ''
              - 'essentials.unban'
              - 'essentials.pardon'
            default: False
                prefix: '&a VIP '
                suffix: ''
                build: True
                interact: True
              - 'Registered'
              - 'worldedit.navigation.unstuck'
              - 'essentials.kit'
              - 'essentials.tptoggle'
              - 'essentials.kit.trusted'
              - 'worldguard.stack'
              - 'dropchest'
              - 'dropchest.create'
              - 'dropchest.remove'
              - 'dropchest.filter'
              - 'dropchest.protect'
              - 'dropchest.destroy'
              - 'nocheat.speedhack'
              - 'nocheat.moving'
              - 'nocheat.flying'
              - 'commadSigns.create'
              - 'essentials.back'
              - 'essentials.nuble'
              - 'essentials.togglejail'
              - 'essentials.jails'
              - ''
              - 'essentials.teleport'
              - 'essentials.back.ondeath'
              - 'nocheat.*'
            default: False
                prefix: '&e Owner '
                suffix: ''
                build: True
                interact: True
              - 'Administrators'
              - '*'
            default: False
                prefix: '&2 Donated '
                suffix: ''
                build: True
                interact: True
              - 'Trusted'
              - 'essentials.kit.donated'
    Please keep in mind that this is mostly configured automatically, VIA McMyAdmin.
    It is refusing to display ranks (I'm using Permissions 3.1.4)
    [To the one 3 posts above, I use ServerCraft too, the new editor has made everything easy though.]

    I noticed that you said it is bugged with 3.x
    Is there another plugin that shows the ranks in chat? I've tried HeroChat, EssentialsChat, and iChat.
    Am I missing anymore plugins that could display ranks or something of the sort? I have to have ranks displayed, in fact, it's the only thing I want to be displayed! Even a simple plugin that colors names for each rank would be nice! :(
  22. Offline


    I am having the same issues. Tried hero chat. Tried messing with individual world config files (groups and users) not working for that either. Maybe hardlinks?
  23. Offline


    go back to Permissions 2.7 it works great with ichat
  24. Offline


    Thing is, I HAVE to have 3.x; the software I'm using (McMyAdmin) is only compatible with 3.x now. :/
  25. Offline


    People, help me.
    At beginning I installed Permissions 3.1.4 and the latest iChat.
    When I tried to enter commands such that:
    /i xxx:yyy
    Nothing Heppened
    Then I read these topic and installed Permissions 2.7.4 with this ichat but commands wont work....
    I am under admin account (config):
    default: false
    prefix: ''
    suffix: ''
    build: true
    - '*'
    What can I do to repair that?????
    I want to use /commands.
    Now work only /permission command.

    Bukkit log
     iChat (v2.3.1) enabled
     [Permissions] version [2.7.4] (Phoenix)  loaded
     [iChat] Found Permissions (v2.7.4)
     Done (1,540s)! For help, type "help" or "?"
    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 10, 2016
  26. Offline


    then u must wait till iChat will be updated for P3, that will be when the dev uses P3 on his own server.

    u know that u need other plugins to use the commands, permissions supplies only a permission system and ichat is only for chat formatting, so what do u expect to happen?

    yeah thx for the info, what should this say me? there is no error, everything works perfect:)

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


    Thats a Permissions problem, not iChat.
  28. Offline


    I have ichat and permissions but prefix and suffix does not work!!!
    Plz help
    I can't put prefix or suffix
    no errors..only in console prefix or suffix is missing!
  29. Offline


    ichat is not compatible with permissions 3.x, only with 2.x. do u use P3?
  30. Offline


    yea permissions 3:p

    plz update for 3.x :)

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


    Hey, my name in not red in my server and I have essentials and in the config thats what I have it set as. op color 4. Anyways I just wanted to see if I could get some help and if this plugin has anything to do with that :D
Thread Status:
Not open for further replies.

Share This Page