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

    puyttre

    Same problem as above, this version must not be compatible with Permissions nversion 2.7.2.
    All of the names that were set before this update stay the same, but new names will remain white.
     
  3. Offline

    Ghil

    puyttre: I'm using ichat with Permissions 2.7.2 with no problems whatsoever.
     
  4. Offline

    Kene

    How to remove

    "Mayor" from [Admin] Mayor Ovelite: Message
     
  5. Offline

    Drakia

    @imjoe "Did i miss something in the iChat config? Or am i just doing it wrong?" How am I supposed to know? Go back to the first post, and read the part in big bright bold red, it's kinda important.
    @Rebeljah "I think it got broken when you updated?" Yes, because the fact it works for 12,000 other people besides you definitely means I broke it. Read the big bright red text in the first post if you actually want help.
    @JeffTheProGamer Yes, it's an old version, I thought it would be hilarious if I wasted time reverting back 5 versions, compiling it, and uploading it. Also, thank you VERY much for your detailed bug report, I'll get right on fixing that "messy"ness?
     
  6. Offline

    Kaosthe1st

    Hello, I was just curious about how I could offset the timezone for the timestamp.

    My server is hosted in a location 2 hours ahead of me, but me and all my users are on PST. I'm know little to nothing about Java, and so when I was reading your link regarding time-stamp information I didn't draw much from it. Is there anyway I can add to the hh:mm:ss string in the config file to have it be in PST?
     
  7. Offline

    Rebeljah

    It started working again without me changing anything...weird

    And don't get me wrong I love your plugin :)
     
  8. Offline

    Drakia

    @Kaosthe1st It uses the server time, there is no way to offset it.
     
  9. Offline

    Kaosthe1st

    @Drakia
    Is it possible to add that functionality? Would you consider it?
     
  10. Offline

    Drakia

    Nope, not something I'm interested in adding.

    Until I decide otherwise, I will no longer be offering any support for any of my plugins. I'm tired of the way users on this forum act, yes, I'm a dick, but it's mainly as a result of people who can't follow basic instructions, or who don't even take the time to read the first post of my topics.
    My plugins will still be kept up to date with the RBs, however I will not be answering any stupid questions, nor adding any requested features.

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

    Mochara

    That's a damn shame for the silent majority who aren't completely retarded but appreciate your plugin...
     
  12. Offline

    JanTTuX

    i cant get groups working like chat [admin]JanTTuX - Wont work

    i get only the color :(
     
  13. Offline

    acuddlyheadcrab

    EDIT:
    -delete-

    Sorry about that. Still having the issue with permissions handler(.class) but i can see it wont be an easy fix.
     
  14. Offline

    Unjust

    I'm having the same problem as JeffTheProGamer and JanTTuX. I had no issues beforehand though.
    There are no errors whatsoever so there is probably no way to help out.
    The colors seem to work but the default name doesn't change for some odd reason. I think one of my plugins broke something :(.
    I've also done a test to see if it could be a plugin and when I used permissions and ichat alone it still did not work... I guess I just have bad luck or something.
    So...no errors, prefix doesn't change but colors do.

    But overall nice plugin I enjoyed it. :D just hoping I can get this working.
     
  15. Offline

    Drakia

    I will be keeping my plugins updated to the latest RBs, but I will not be taking suggestions, nor offering support besides the first post, as that outlines everything you need to know for any of my plugins.
     
    OrtwinS likes this.
  16. Offline

    Unjust

    I FEEL SO STUPID XD my permissions was at fault for this sorry for bothering you :D, I was download the jar only and it wasn't working right ever since... Ichat works 100%

    Like I said sorry to bother you! :D
     
  17. Offline

    Foffy123

    I feel you Drakia, sometimes stupid people and questions get to me as well.
     
  18. Offline

    DemonCraft

    Please make a video along with pictures or something please.
     
  19. Offline

    Phealoon

    How do we change the text color for /me? When players use the /me commandbook it is the default color. I tried looking this up, but was unsuccessful.

    -Phea
     
  20. Offline

    d00ba

    Great plugin, works like a charm, thank you!
     
  21. Offline

    iffa

    I'd love to have a config that makes chat look like HeroChat iwth this.
    EDIT: Made my own:
    Code:
    message-format: '&2[g]+prefix+suffix+name: &2+message'
    Put the group's color code as the suffix...
     
  22. Offline

    bluewolfer

    Having some issues whilst trying to get group names to show up.

    For example I would add a color to a user groups Prefix and Suffix:

    But when I show up in the game, it shows like this:

    [Administatorr] Kennethboy

    For some reason the excess R shows up on every group I try to create :S
     
  23. Offline

    Phealoon

    I still am not sure how to change the /me text color so the players action command will come up a different color. Also, is there a way to toggle their colors so that instead of typing &3 all the time before each chat, they could just toggle the &3 color on, and toggle it off again later?

    -Phea
     
  24. Offline

    Jandalf

    i can understand u, although im not a dev, but its hard to always repeat the same advises 100 times... but offer updates is all we need i thing, ur plugin is great as it is and doesnt need any aditional features:)

    thanks for the great work
    u know that u need permissions to set groups?
    pls read 3 posts above u.
    only the normal chat is supported, no command text.
     
  25. Offline

    soloman981

    I have no idea how to make admin message's gray ? can i ask for config ?
     
  26. Offline

    Jandalf

    i do it this way:
    Code:
    message-format: '+time: +prefix+name: +suffix+message'
    world.yml:
    Code:
        Admin:
            default: false
            info:
                prefix: '&3[A] '
                suffix: '&7'
     
  27. Offline

    iceguru

    Well I'm new here and was looking for this but I will use something else then .. since you're acting like a little kid, instead of ignoring those that are ignorant the help and help those that do what you ask, you fuck everyone over.
     
  28. Offline

    Drakia

    @iceguru Lulwut? Ignoring the help from what now? Good to see you won't be using my plugin though, I won't have to decipher your barely legible sentences.
     
    GameFreakDude likes this.
  29. Offline

    crazyoldman

    Haha, I totally support your lack of willingness to help people. If their incompetence prohibits them from using your plugins, tough!

    Very nice!
     
  30. Offline

    iceguru

    I typed that fast and went to sleep you may read the revised version now.
     
  31. Offline

    GameFreakDude

    The funny thing is I still don't understand it.
     
Thread Status:
Not open for further replies.

Share This Page