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

    pomo4ka

  3. Offline

    Matsuro

    Sorry if this has been covered, but 36 pages is jsut too much to read.
    Is there any way to override the world names with this plugin? I would like world_skylands and world_nether to just show up as Skylands and Nether respectivly.
    Thanks,
    -Tashi
     
  4. Offline

    Sousatom

  5. Offline

    Coarse

    Server log => http://pastebin.com/jBcT0aSA
    Permissions Group config => http://pastebin.com/8yGQxh1e
    Permissions User config => http://pastebin.com/mAWhz9tF
    iChat config => http://pastebin.com/VZsgKYMB
    plugins :
    BlockCrusher
    iChat
    motd
    Permissions 3

    colors wont show, ive tried other plugins that shows color like motd, but it only changes the color of the shadow. :/

    EDIT: well, the reason why only the shadow changed was because my minecraft files were screwed or something. so i had to delete all my minecraft files.
     
  6. Offline

    Drakia

    Don't use multiple chat plugins (Factions implements its own chat handling. I have no clue if there is an option to disable it.)
     
  7. Offline

    EpicATrain

    Yes, use the alias function in MultiVerse... which from there you can colorize it.
     
    Matsuro likes this.
  8. Does this work with new permissions plugin? :D
     
  9. Offline

    Fezz

    It says that it NEEDS permissions. Learn to read.
     
  10. It does not say it works with the NEW permissions plugin called "PermissionsBukkit" which is the official Bukkit perms... calm the hell down dude.

    EDIT: ANd yes, it does work.
     
  11. Offline

    Fezz

    I'm sorry, but if you have read the Op you might have sawn this: "Requires Permissions 2.x/3.x. I DO NOT USE, TEST, OR PROGRAM FOR OTHER PERMISSION PLUGINS"

    Calm the hell down dude.
     
  12. Yeah, but considering it's the same thing and has a bridge, I was just asking.
     
  13. Offline

    Grrrr159

    Wow this is great, over 10x better than EssentialsChat, which just wont work for me anymore :p Great Job
     
  14. Offline

    Drakia

    @Fezz @fofogogo23 Both of you need to calm down. I'm the only one allowed yelling in here.
    @fofogogo23 Clearly stated in the first post IN BIG BOLD RED: "Requires Permissions 2.x/3.x. I DO NOT USE, TEST, OR PROGRAM FOR OTHER PERMISSION PLUGINS". It may very well work with "SuperPerms"/"PermissionsBukkit" but that does not mean all features will, or that you won't run into issues. And when you do, don't come crying to this thread, as I won't offer you support. "PermissionsBukkit" and Permissions 2.x/3.x are NOT the same thing, by the way.

    @Grrrr159 Thanks, glad to have you onboard. Currently serving ~16,875 users and counting, gotta be doing something right ;)
     
  15. Offline

    Rsccman

    im onboard also lovin ur plugin much
    for the people about permissions, well all i can say is kids under the age 16 should not beable to make servers, its just spamtastic when they cant read
     
  16. Offline

    senior_hombre

    Hi Drakia i want to update ti bukkit rb1000, can i keep my iChat config file or should a delete anything before putting the new file on the server? btw. i the last version i used was you version for the 1.6.6. release of bukkit, are there any changes that would make it impossible to keep the old files?
    And do you tested ichat on rb1000 with permissions 2.7.4. ?
     
  17. Offline

    Moe041991

    @Drakia
    Hey it would be really cool if you could enter some sort of maximum chatrange! :)
     
  18. Offline

    Drakia

    @senior_hombre clearly stated in the first post just like in every plugin topic: "CraftBukkit: b1000"

    @Moe041991 no
     
  19. Offline

    PatrickFreed

    To answer your question, yes. It does work with 2.7.4.
     
  20. Offline

    Matsuro

    Alright, i got aliases working using Multiverse, but i can't for the life of me figure out how to color the world names, any tips?
    Thanks
    -Tashi
     
  21. Offline

    EpicATrain

    Sure! Example:

    Code:
    worlds:
        CityWorld:
            animals: true
            pvp: true
            alias: §6CityWorld§f
            blockBlacklist: ''
            worldBlacklist: ''
            spawn: 208:64:-29:-359.2502:-10.649944
            mobs: true
            price: 0.0
            environment: NORMAL
            editWhitelist: ''
            playerBlacklist: ''
            playerWhitelist: ''
            editBlacklist: ''
        OFFC:
            animals: true
            pvp: true
            alias: §2OFFC§f
            blockBlacklist: ''
            worldBlacklist: ''
            spawn: 9:106:19:-90.15015:3.5999856
            mobs: true
            price: 0.0
            environment: NORMAL
            editWhitelist: ''
            playerBlacklist: ''
            playerWhitelist: ''
            editBlacklist: ''
        OFFC_nether:
            animals: true
            pvp: true
            alias: §cNether§f
            blockBlacklist: ''
            worldBlacklist: ''
            spawn: 46:64:-92:0.0:0.0
            mobs: true
            price: 0.0
            environment: NETHER
            editWhitelist: ''
            playerBlacklist: ''
            playerWhitelist: ''
            editBlacklist: ''
        skylands:
            animals: true
            pvp: true
            alias: §bSkylands§f
            blockBlacklist: ''
            worldBlacklist: ''
            spawn: -242:64:60:0.0:0.0
            mobs: true
            price: 0.0
            environment: NORMAL
            editWhitelist: ''
            playerBlacklist: ''
            playerWhitelist: ''
            editBlacklist: ''
    Can somebody tell me why sometimes my server will add a line something like:

    ----------------------------------------------2468712684268554

    On line 10 of the config file? I'll upload a new config and the server keeps putting a line in it, which causes the server to unable to load the iChat file. I have to replace the entire iChat and MultiVerse directories and .jar files to stop the server from doing that...

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

    morizuki

    This will be good if you can add a +level(power level in mcMMO)
     
  23. Offline

    Matsuro

    tried that and my console throws an error saying that it uses an unathorized character. slowy working my way through that giant Multiverse thread to see if im missing something.
     
  24. Offline

    Dyramisty

    Hey man, any way to make this coop with herochat? or perhaps you interested in adding channels? I love your plugin.
     
  25. Offline

    Drakia

    No
     
  26. Offline

    Dyramisty

    Oh well, to bad.
     
  27. Offline

    Shrockerharder

    :D i just installed it and need to fix the colors but its great. Why does people say it sucks?
     
  28. Offline

    Drakia

    Because some people don't know how to/shouldn't run a Minecraft server ;)
     
    ACStache likes this.
  29. Offline

    xRichHoBo3Sx

    How do you make it so that your name and your group is 2 different colours example &7[&4Owner&7]&CxRichHoBo3Sx.
    Thank you.
     
  30. Offline

    Drakia

    Exactly like that

    ID10T ERROR! PLEASE FIX!

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

    kamild1996

    OK, nvm.
    Server Log
    Plugin List
    iChat can't generate config, because plugin is not working. :eek:
    And what you mean saying "entire Permissions config"?
    How to fix this?
     
Thread Status:
Not open for further replies.

Share This Page