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

    Drakia

    @solidsnake916 There is currently not, I may look into implementing it.
     
  3. Offline

    Lynxdragon

  4. Offline

    solidsnake916

    @Drakia Ok Thanks, in iChat 1.5 the original is where +healthbar was, that i believe was the only one. But it would be Nice to do this in chat. +User is Part of +Group and has +healthbar. in chat or something lol.
    Well thanks for reading, hope you implement it.
     
  5. Offline

    chernobyl360

    HeroicDeath
    LWC
    Permissions
    Spawn Control
    Lottery
    Iconomy
    CommandBook
    SignColour
    Mcbans
    BackToBody
    CraftBook
    PlayerLives
    SimpleSave
    Mcmmo
    HandHeld Torch
    IpGet
    Ichat
    Drop Chest

    Would any of these plugins conflict with ichat? cuase i cant get it to work. ichat seems to remove the prefix and the color...
     
  6. Offline

    rmb938

    is there a way to add display names? Towny cahnges your display name and if you use iChat with towny it doesn't show the display name
     
  7. Offline

    MediaMemphis

    hi, it woud be fine to set areas for special chatrooms like teammeberroom
     
  8. Offline

    ZeroPoke

    Im gonna field this one. Chat formatting plugin not a chat room plugin.
     
  9. Offline

    Drakia

    @chernobyl360 Your Permissions is loading correctly? Does iChat detect Permissions?
    @rmb938 I'll add displayname in the next update.
     
  10. Offline

    The10xKiller

    i was reloading my server to update plugins and other and when i was working with iChat i got his error

    Code:
    2011-04-07 02:54:16 [SEVERE] Could not pass event PLAYER_CHAT to iChat
    java.lang.NullPointerException
        at com.nijiko.permissions.Control.getGroup(Control.java:568)
        at net.TheDgtl.iChat.iChat.getPrefix(iChat.java:238)
        at net.TheDgtl.iChat.playerListener.onPlayerChat(playerListener.java:43)
        at org.bukkit.plugin.java.JavaPluginLoader$6.execute(JavaPluginLoader.java:199)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:255)
        at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:563)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:551)
        at net.minecraft.server.Packet3Chat.a(SourceFile:24)
        at net.minecraft.server.NetworkManager.a(NetworkManager.java:198)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:72)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:368)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:375)
    What dose it mean and how can i fix it
     
  11. Offline

    Drakia

    It means your Permissions config is screwed up.
     
  12. Offline

    chernobyl360

    yea i fixed it. in the permissions one of the users i setup wasnt spaced correctly and cuased the whole thing to mess up..
     
  13. Offline

    LatestLeech

  14. Offline

    Drakia

    @LatestLeech I need more information than that, go re-read the first post before asking for support. Mainly the part in bright red. You're new here, so I'll give you a tip, ALWAYS read the entire first post of a plugin before asking for help, it doesn't matter how long it is.
     
  15. Offline

    Noah1997

    Ok, the prefix will show up twice and i can't get the brackets to be the same colors as the prefix.
     
  16. Offline

    Drakia

    @Noah1997 I will tell you the exact same thing I just told @LatestLeech one post above you, go re-read the first post before asking for support. Mainly the part in bright red.
     
  17. Offline

    LatestLeech

    No error message, just freaking annoying having a red name >.>....Plugins: ichat, ipget, essentials, spyr, world edit, world guard, tpack, teleplus, commandbook, craftbook, plgsetspawn, groupmanager (comes with the fake permissions thing). groups.yml <---http://pastebin.com/eYNZfg2r......ichat config ------>http://pastebin.com/6JAEfvJE users.yml----->http://pastebin.com/aHwbnEwj

    Edit: New question: how do i make it so ops dont get a red name?
     
  18. Offline

    Drakia

    @LatestLeech You're running Essentials, do you have EssentialsChat enabled? Your current iChat config is not what's coloring your name.
     
  19. Offline

    LatestLeech

    @Drakia nope, but i figured it is because ops get the red name >.> but can i change that so ops sstay with white name?
     
  20. Offline

    Drakia

    @LatestLeech I don't get that behavior on my test server. Could you try disabling all plugins except iChat and GroupManager to see if it still happens?
     
  21. Offline

    LatestLeech

    @Drakia i figured its essentials doing it >.>, but do you have any idea what it could be doing it ffrom the file?
     
  22. Offline

    Drakia

    @LatestLeech I don't know, I don't know how Essentials works, you'll need to ask in their topic.
     
  23. Offline

    Prime

    This may be a stupid question, but does iChat offer any sort of limited-range chat, as in the chat message would only be displayed to people who are within 32 blocks of the person? If not, are there any plugins that offer that and are compatible with iChat?
     
  24. Offline

    solidsnake916

    In Essentials at the very top will fix this plugin for working iChat Perfectly.

    Code:
    ############################################################
    # +------------------------------------------------------+ #
    # |                 Essentials (Global)                  | #
    # +------------------------------------------------------+ #
    ############################################################
    
    # A color code between 0-9 or a-f. Set to 'none' to disable.
    ops-name-color: 'none'
    
     
  25. Offline

    Drakia

    @Prime iChat is strictly chat formatting. Essentials offers that functionality as far as I'm aware.
    @solidsnake916 Thanks for posting that, I'll add it to the first post, just incase :)
     
  26. Offline

    solidsnake916

    @Drakia No Problem, Glad i could Help.
     
  27. Offline

    Unscrewed

    Please help me! I tried this iChat and the iChat 1.6? and it still doesn't work.
    The other iChat worked before but now it doesn't work. (I dont get [Admin] or whatever before my name)
    I have bukkit 670 and permissions 2.5.5 or 2.6? I have the newest one. Still doesn't work, my permissions file:

    Code:
    groups:
        Member:
            default: true
            info:
                prefix: ''
                suffix: ''
                build: false
            inheritance:
            permissions:
                - 'foo.bar'
                - 'myhome.home.*'
                - 'lwc.protect'
                - 'SpawnControl.spawn.use'
                - 'essentials.afk'
                - 'essentials.tpaccept'
        VIP:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
                - Member
            permissions:
                - 'bar.foo'
                - 'essentials.tpa'
        Moderator:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
                - VIP
            permissions:
                - 'bar.foo'
        Admin:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
            permissions:
                - '*'
    
    
    users:
        Unscrewed:
            group: Admin
            permissions:
    
        zearrow:
            group: Admin
            permissions:
    
        BradJ15
            group: Admin
            permissions:
    
        msanchez7
            group: Admin
            permissions:
    
        jilly180
            group: VIP
            permissions:
    
        grimreaper66
            group: Admin
            permissions:
    I just left the iChat config as it is.
     
  28. Offline

    iamkentucky

    http://pastebin.com/gY6aGMY4 Ichat config

    http://pastebin.com/wrx7Hm0s Permissions file

    When i type something in it look like this [g] [Admin] iamkentucky: ff

    the attached pic below is the problem i have been haveing i dont want that [g] and the : gghgh

    i want it to look like this [Admin] iamkentucky: with white text
     

    Attached Files:

  29. Offline

    Unscrewed

    Please, help me out :(
    Is my permissions file broken?
    Did I do something wrong?
     
  30. Offline

    Drakia

    @iamkentucky Disable any other chat formatting plugins (Essentials Chat)
    @Unscrewed I was sleeping, I don't answer every post instantly, and now you get to wait until after I get home from work for being impatient.
     
  31. Offline

    iamkentucky

    Yeah drake i cant find any other plugins says that are messing it up Do i need to get rid of Essensicals
     
Thread Status:
Not open for further replies.

Share This Page