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

    ZachBora

    Would it be possible to allow option to disable text color to players? They keep spamming colors and I cannot stop them without removing the formatting from iChat. They type & and 0-9 or a-f and it colors whatever they type.
     
  3. Offline

    Drakia

    Color-replacing is done on the finished string, and is how things like prefixes can be colored. There's no easy way to implement it so that everything except messages are colored, since the message is just a variable like the prefix, suffix, name, health bar, etc.
     
  4. Offline

    Jandalf

    remove the inheritance from the mods and admins, they already have all commands, maybe this should work
     
  5. Offline

    ZachBora

    Maybe get the option to choose which character it uses for color allowing us to put a character that you cant type in game? (the & is too easy to type but the § isn't)
     
  6. Offline

    Drakia

    I actually thought of a way to do it, pushing the update in a minute after testing :)
    --- merged: Mar 6, 2011 6:28 PM ---
    Pushed 2.10, you can now give users ichat.color to allow them to use color codes in chat, if they don't have it then (&[0-9][a-f]) is replaced with ""
     
  7. Offline

    Mylo104

    Ok, guys im running Craft Bukkit V.497, this plugin isn't working for me please help ?!
    --- merged: Mar 6, 2011 7:53 PM ---
    Ok, i'm having problems:

    iChat Config:
    message-format: '[+prefix+group+suffix&f] +name: +message'
    censor-list: [ fuck, shit, rape, ass, asshole, cunt, bitch, slut, whore, dick, queef, cum, cumguzzler, dickmuncher, nigger, fucker, bullshit, buttpirate, butt-pirate ]
    censor-char: '*'
    censor-colored: true
    censor-color: '&7'
    censor-string-color: '&f'



    Permissions Config:
    # System is no longer used, but may become used in the future
    # Copies is for multiple-world support
    # Put the name of the world you wish for it to be a clone of, otherwise leave it empty.
    # Does not work for the default world.
    plugin:
    permissions:
    system: default
    copies:

    ##
    # Groups can contain inheritance.
    # To make a group inherit the permissions from another
    # group simply place the groups name in the "inheritance:" like so:
    #
    # Example:
    # inheritance:
    # - Default
    ##
    # All permissions including the asterisks must be placed in single quotes.
    # like so:
    #
    # - 'general.spawn'
    #
    # Otherwise errors will happen!
    ##
    # Globalized Permission settings:
    #
    # If a permission contains periods (.) you can denote a globalized parameter:
    #
    # - 'general.*'
    #
    # This will allow you to use all general commands.
    #
    ##
    # Single Asterisk denotes all commands:
    #
    # - '*'
    ##
    # To exempt a node use the - prefix like so:
    # - '-general.time'
    ##
    groups:
    Guest:
    default: true
    info:
    prefix: '&b'
    suffix:
    build: false
    inheritance:
    permissions:
    - 'general.spawn'
    - 'iConomy.payment'
    - 'iConomy.list'
    - 'iConomy.rank'
    Regular:
    default: false
    info:
    prefix: '&9'
    suffix:
    build: true
    inheritance:
    - Guest
    permissions:
    - 'general.time'
    - 'general.teleport'
    - 'general.teleport.here'
    - 'general.player-info'
    Admin:
    default: false
    info:
    prefix: '&e'
    suffix:
    build: true
    inheritance: Regular
    permissions:
    - '*'
    ##
    # DarkGrave has control over all commands.
    ##
    users:
    mylo104:
    group: Admin
    permissions:
    Please help me :(
     
  8. Offline

    ZachBora

    thanks i'll give it a try
     
  9. Offline

    ThorSve33

    {EDIT} I figured it out. The proper formatting is: [+prefix&f]+suffix +name: +message, and in Permissions, leave prefix & suffix blank in group, but change them to desired values in user, although I assume it would work the same in the group part...haven't tested it yet.

    I'm trying to make it so that I have a different colored thing in brackets than my name, but still be able to change my name color. This is the format that I want: [&eGodKing] &9ThorSve33: <message>

    What would I do in Permissions and in iChat in regards to prefixes, suffixes, and iChat formatting to make this work?
     
  10. Offline

    GizmoTheGreen

    is there any good way to change users names on my server? some users use a different nick in our skypechat that we are more familiar with, so users call eachother different from the names in game, which confuses new users.

    So how can I turn a geokidd to gex for example.
     
  11. Offline

    Drakia

    There are auth plugins, or you can set your chat format to something like
    [+prefix] +suffix: +message
    And then set per-user suffixes in permission files to set per-user names, and for groups set the suffix to +name to show the persons actual name if they don't have a custom one set.
     
    ThorSve33 likes this.
  12. Offline

    SimplisticBeing

    Everything running fine.. Noticed iChat loading error.. Came here maybe for an update only to find the link down?? I find it odd my plugin has problems when the download link is down..weird.. But my buddy on 2.10 is fine.. I am not.. I have an identical server..

    CB493
    Group Manager 1.0 A2
     
  13. Offline

    Ultra695

    Theres no ichat.jer in the download..........

    Help?
     
  14. Offline

    Cool12309

    The download gives a 'Too many redirects' error :c
     
  15. Offline

    Drakia

    The redirect should be fixed.
    And about no "ichat.jar" file, don't use IE to download, use a real browser.
     
  16. Offline

    GizmoTheGreen

    thanks, it works perfectly ;)
     
  17. Offline

    DAHVIE

    I get this when someone in the chat writes something.....
    [​IMG]
    Ichat config:
    Code:
    censor-list: []
    censor-color: '&f'
    date-format: HH:mm:ss
    message-format: '[+prefix+group+suffix&f] +name: +message'
    censor-char: '*'
    censor-string-color: '&f'
    censor-colored: false
    
    Permissions Config(world3):
    Code:
    groups:
        Default:
            default: true
            info:
                prefix: ''
                suffix: ''
                build: false
            inheritance:
            permissions:
                - 'foo.bar'
        Moderator:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
                - Default
            inheritance:
            permissions:
                - 'bar.foo'
        Admins:
            default: false
            info:
                prefix: '&c[&fADMIN&c] &f'
                suffix: ''
                build: true
            inheritance:
            permissions:
                - '*'
    ##
    # 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:
        DAHVIE:
            group: Admins
            permissions:
        Herpina:
            group: Moderator
            info:
                prefix: 'Moo'
                suffix: 'Cow'
            permissions:
                - 'herp.derp'
        Derpina:
            group: Admins
            permissions:
                - '-derp.derp'
     
  18. Offline

    Drakia

    I can't do anything with the start of that error message. My guess is it's your permissions isn't setup right.
     
  19. Offline

    Ultra695

    How does my browser affect what is in the download package?, Where would I get a new browser if I really needed one?

    And if it really is the browser, consider picking a less picky host, because I work with over 20 other plugins and they all download fine.
     
  20. Offline

    Drakia

    IE has a habit of not listening to file extensions when it comes to downloading. That host is my server, it hands out files, it has no control over how your browser treats that file. The reason there's no "jar file" is because IE is treating the jar file as a zip.
     
  21. Offline

    Ultra695

    Oh thats an easy fix (at least on vista) just save it as ichat.jar and it saves it as a jar file rather than a zip.
    You may want to make a small note of that.
     
  22. Offline

    Lomz

    First off, I love your plugin. It's one of my favorite ones. :D
    Got a request for a future update though if it isn't already implemented though. Right now, users are able to type into the chat box '&a' and have the text after that in green, or '&4' for dark red, etc. Is there a way to disable this? If not, can you make one?

    Thanks, Lomz. :]
     
  23. Offline

    Drakia

    Latest version they can only use & color codes if they have ichat.color permissions. It's outlined in the very first post.
     
  24. Offline

    Lomz

    So it is. :confused: I apologize for my inability to read clearly.

    Thanks. :)
     
  25. Offline

    M1nurThr3t

    ok im having some issues. I have over 100 users, im using this but when adding them all to the list it doesnt work
    is there a way to add this amount of people?
     
  26. Offline

    Drakia

    Adding them all to what list?
    Why are you giving every user a custom prefix/suffix? Just use groups.
    Is there a problem with your Permissions plugin? If so, go ask in that topic, I don't offer support for other plugins.
     
  27. Offline

    M1nurThr3t

    ok nvm fixed it, issue on my part
     
  28. Offline

    Shadower108

    Great plugin. I'm really glad you continued from the other one. I upgraded to the this one today, and now the names of my users are all back to the default red. In the old iChat, I was able to have something like this:

    [Admin]Jobsti: My Chattexts

    But now it's like:

    [Admin]Jobsti: My Chattexts

    My configurations are completely the same, all I did was upgrade to this iChat instead of the broken one.

    Any ideas/help would be great!
     
  29. Offline

    ITech

  30. Offline

    MationMac

    Censoring does not support Æ Ø Å.
    Took me alot of time to figure. :/
     
  31. Offline

    smurph077

    Ive got this plugin installed and it says this '[Admin]Smurph077' but in the groupmanager permissions i have '&4[&4Admin&4]&4 And whenever i get on minecraft theres no color D: What do i do?
     
Thread Status:
Not open for further replies.

Share This Page