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

    Deren909

    Major Problem :eek: with Permissions and Group Manager, the prefix is infront of my name deren909[Admin]: Hello!
    Im using B:766 Maybe I should update, I had this issue with permissions a while back, here is the code for the group Admin:
    Code:
      Admin:
        default: false
        permissions:
        - -essentials.protect.damage.*
        - '*'
        inheritance:
        - semiadmin
        info:
          prefix: '&4'
          build: true
          suffix:
          - Admin
    
    Please Help!!!!!

    Thank You,
    Deren
     
  3. Offline

    Jandalf

    yeah cause u set suffix: -Admin
    so u need to put the suffix in the message format before the name.
     
  4. Offline

    Deren909

    Thank You,

    But how do i do that?
    :eek:, sorry im sorta a noob would it be in the iChat config or the Group Manager groups?

    Thank You So Much,
    Deren
     
  5. Offline

    Hacr

    Hello!

    I love this plugin :D

    But when I am using the censor-list, I cant put in words with æ, ø, å in it ?
    What can I do?
     
  6. Offline

    Jandalf

    ehm, ichat doesnt support Group manager, it only works with Permissions...

    please copy ur first ichat config line here, so ill show u
     
  7. Offline

    Ghostaunt

    Issue here : dont work with permissions V3.*.* if we use multi groups and if the group is not at the first place !
     
  8. Offline

    Drakia

    iChat only supports the standard ASCII character set.

    @Ghostaunt It has been stated MANY times that iChat does not support Permissions 3.x, the first post clearly states iChat required Permissions 2.x
     
  9. Offline

    Drageer

    It suprises me how many people are oblivious to what u have said before.
    Anyway, thanks for making this plugin, it's a great addition to my server.
     
  10. Offline

    Hacr

    So there is no way to go around it? :confused:
     
  11. Offline

    Drakia

  12. Offline

    Jonny Dennis

    No matter what I do nothing happens with prefixes on iChat.
    I have permissions installed.
    My iChat config:
    censor-list: []
    censor-color: '&f'
    date-format: HH:mm:ss
    message-format: '[+prefix&f] +name: +message'
    me-format: '* +name +message'
    censor-char: ''
    censor-string-color: ''
    censor-colored: false

    My permissions config:
    groups:
    Default:
    default: true
    info:
    prefix: ''
    suffix: ''
    build: true
    inheritance:
    permissions:
    - ''
    VIP:
    default: true
    info:
    prefix: '&eVIP'
    suffix: ''
    build: true
    inheritance: Default
    permissions:
    - ''
    Moderator:
    default: false
    info:
    prefix: '&f[&2Mod&f]'
    suffix: ''
    build: true
    inheritance: VIP
    permissions:
    - '*'
    Admins:
    default: false
    info:
    prefix: '&f[&4Admin&f]'
    suffix: ''
    build: true
    inheritance:
    permissions:
    - '*'
     
  13. Offline

    Jandalf

    which permissions do u use? ichat is not compatible with permnissions 3.x
     
  14. Offline

    Drakia

    @Johnny Dennis either post your config stuff in a code box, or on pastebin, post it as you have is pointless as whitespace gets stripped.
    I would also re-read the first post in which it states we need your server log, your entire Permissions config, and your iChat config to be able to offer you any sort of assistance.
     
  15. Offline

    prefix

    Is it possible for this to support PermissionsEX? http://forums.bukkit.org/threads/admn-dev-permissionsex-pex-v1-11-tomorrow-is-today-733-860.18140/

    The plugin loads properly no errors etc, i'm sure my config is correct because permissions is working.

    I am thinking that the problem is that your plugin looks in the /Permissions/worlds/world/users.yml and groups.yml when permissionsex is using only /PermissionsEx/permissions.yml .

    Both files are YML so it can't be terribly hard to have to it look in that folder as well? Thanks for an awesome plugin updated so fast to 860!
     
  16. Offline

    Drakia

    @prefix Nope, no plans to implement any changes in Permissions past 2.7.x until I feel that updating past that is necessary, and considering it works perfectly, that probably won't happen for a while.
     
  17. Offline

    prefix

    Allright i understand, could you atleast point me in the right location about the Permissions folder (inside the jar)? Maybe it would be enough to change the locations of the Permission files to the new .yml.
     
  18. Offline

    Jeyge

    The only plugin that should read from the permissions yml files are the permissions plugins themselves. All other plugins just call the exposed APIs to retrieve the information. And while PEX claims to be 100% compatible with Permissions 2.x, it just isn't.
     
  19. Offline

    Drakia

    @prefix As Jeyge said, my plugin does not directly interact with the YML files for Permissions, it uses the Permissions API.
     
  20. Offline

    prefix

    Ah. i See. That's a shame. it would be much more compatible if it was set to use yml files.
     
  21. Offline

    Drakia

    Erm... No, no it wouldn't... No plugin should EVER touch another plugins config file, that's what the API is made for.
     
  22. Offline

    sukosevato

    +1 for not answering stupid help responses.

    Hope you do still add features. Since its an awesome plugin.

    And after all not everybody on this forum is a retard.

    Anyway just to let you know you're doing a great job.
     
  23. Offline

    Drakia

    @sukosevato If every post in this topic were unique (831 posts), it would account for less than 15% of my user base ;)
     
  24. Offline

    XLighterShadowX

    is it possible to make a specific rank/player have a different coloured message (+message) to others because i can only work out how to make EVERYONES messages coloured without anything going wrong. i'd like it on my server to be a donator bonus.
     
  25. Offline

    nichiatu

    Y U NO SUPPORT PERMISSIONS 3.X
     
  26. Offline

    Drakia

    @nichiatu Because it's fun watching idiot users like you squirm.
     
    Karaen and firtvid20 like this.
  27. Offline

    nichiatu

    Who said I'm squirming? I'm simply just stating that I like your plugin, but it's no real problem for me. :)
     
  28. Offline

    Jandalf

    u can put a color code in the prefix/suffix of each player
     
  29. Offline

    vasil7112

    I am telling you please make it also for Permisions 3 because it has ingame commands!!
    Thnx!!:)
     
  30. Offline

    JanTTuX

    works in permissions 3x but my ichat is very outdated
     
  31. Offline

    XLighterShadowX

    that seems to only affect the rank tag before the name and not the message itself
     
Thread Status:
Not open for further replies.

Share This Page