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

    Jandalf

    message-format: '+time: +prefix+name:&f +message' and in prefix i have the group name with[]
    show me your line and ill look whats wrong...
     
  3. Offline

    DierWolf

    your format should look like this if you want the time on:

    '+Time[+prefix+group+suffix&f] +name: +message'
     
  4. Offline

    DurtyFree

    Have anyone the iChat 2.06 because the new buggs :/
     
  5. Offline

    Jandalf

    i havnt, but what bugs do u mean? it works fine for me...
     
  6. Offline

    DurtyFree

    I dont know, it doesnt work. I become no errors, it only shows no prefixes ingame... It were nice when somebody can upload 2.06.
     
  7. Offline

    Jandalf

    i think this is not an ichat problem, could u copy ur permissions file to pastbin.com?
     
  8. Offline

    DurtyFree

    Ok, i use Build 440 with Permission 2.5.2, here is my MultiVerse config:

    And heres my Permission config:
    http://pastebin.com/6Huq3AG6
    Here a list of my Plugins: Stats,Achievements,BigBrother,iChat,iConomy,BorderGuard,Craftbook,MoveCraft,dynmap,Elevators,MyHome,General,LWC,MC Docs,MilkAdmin,MineCartMania,Minecraft Autorestarter,Permissions,MultiVerse,OnlineUsers,ucpreg,Whitelist,WorldEdit,WorldGuard
     
  9. Offline

    Jandalf

    first remove the inheritance from serverowner because he allready has '*' and both could cause problems
    and i dont need the multivers confi;) or dissapeard only the world chat tag?
     
  10. Offline

    DurtyFree

    No it dissapeard all tags/prefixes.
    I removed the inheritancefrom serverowner.
    But it doesnt work... And now i know why... Its because the new version is not compatible with the new permission, it says "no permission plugin found, disabling"... something like that.
     
  11. Offline

    Jandalf

    yes i also switched back to perm2.5.1
     
  12. Offline

    DurtyFree

    yes, i did it now and it works fine :D
     
  13. Offline

    xAnder

    And i got this:
     
  14. Offline

    Drakia

    @xAnder what version are you using? And are you using +time or +Time? Cause it has to be lower case.
    And here's an example of the time format (I'll add this to the first post):
    date-format: 'HH:mm:ss'
    It will support anything in the SimpleDateFormat page I linked to on the first page.
     
  15. Offline

    PacketCollision

    Agreed. This does not seem to support permissions 2.5.2. Rather than specifying the exact versions allowed, I think it would be much better to allow minor version increments (which are only bugfixes). Print a warning if you really don't want to be held accountable.

    Edit:
    I decided I should put my money where my mouth is, and implement this change. I am running it on my server, and it appears to work perfectly. I've also submitted a pull request to the original author on Github. For now, you can download it from my Github. You can see the source changes in the commit.
     
  16. Offline

    dademon

    On 493?

    Code:
    2011-03-04 23:54:49 [SEVERE] Could not load plugins/iChat.jar in plugins: null
    org.bukkit.plugin.InvalidPluginException
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:80)
        at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:129)
        at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:94)
        at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:59)
        at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:204)
        at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:191)
        at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:131)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:246)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    Caused by: java.lang.NoSuchMethodException: com.nijikokun.bukkit.iChat.iChat.<init>()
        at java.lang.Class.getConstructor0(Class.java:2719)
        at java.lang.Class.getConstructor(Class.java:1672)
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:75)
        ... 8 more
    
     
  17. Offline

    xAnder

    I'm using the latest version 2.07, and use +time.
     
  18. Offline

    ScottSpittle

    any way we can have colored names in playerlist.. with there group name (per player) e.g
    Connected Players:
    [Admin] - Scotspittle, [Builder] - Fatty
     
  19. Offline

    Drakia

    Uploaded 2.08 with PermVersion changes by PacketCollision.
    @dademon That's not my plugin
    @xAnder Well that's weird, cause it's implemented the exact same way as every other variable that seems to be working for you. Are you 100% positive you updated your plugin? It says in the terminal "iChat (v2.07) enabled"?
    --- merged: Mar 5, 2011 1:03 AM ---
    @ScottSpittle player list has nothing to do with this plugin.
     
  20. Offline

    xAnder

    With 2.08 +time works. Thanks!
     
  21. Offline

    NickBrahz

    Just downloaded and starting using the latest recommended build, now getting spammed with this when i start my server.

    Code:
    2011-03-05 08:47:22 [SEVERE] PLAYER_COMMAND loading iChat v2.08 (Is it up to date?)
    java.lang.NoSuchFieldError: PLAYER_COMMAND
        at com.nijikokun.bukkit.Permissions.Permissions.registerEvents(Permissions.java:117)
        at com.nijikokun.bukkit.Permissions.Permissions.onEnable(Permissions.java:107)
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:118)
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:414)
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:187)
        at net.TheDgtl.iChat.iChat.setupPermissions(iChat.java:98)
        at net.TheDgtl.iChat.iChat.onEnable(iChat.java:41)
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:118)
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:414)
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:187)
        at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:83)
        at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:61)
        at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:204)
        at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:191)
        at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:131)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:246)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
     
  22. Offline

    Jandalf

    should work with 454+. do u download 440? what permission version do u have?
     
  23. Offline

    NickBrahz

    I have no frikken idea what ### craftbukkit is, its impossible to find anything on these forums anymore, used to use a site that would say the versions but the only thing i can find is the download from here http://wiki.bukkit.org/Main_Page which is not that helpful.

    The permissions version i am using is 2.5.2, which is from here http://forums.bukkit.org/threads/ad...h-more-antibuild-493.5974/page-29#post-107781

    EDIT: Ok scratch that it finally decided to work, but if you could be so kind to post the new site where all the versions of craftbukkit are uploaded to that would be greatly appreciated.
     
  24. Offline

    Jandalf

    no problem http://ci.bukkit.org/job/dev-CraftBukkit/
    this
    is the version. so i have 497
     
  25. Offline

    dark navi

    Does this version not support Phoenix's version of Permissions? I have 'message-format: '+prefix&f+name: +message'' as my config, but it insists on only printing names.
     
  26. Offline

    Thomas Hutton

    For some reason I can't get ichat to use permissions to modify chat. ichat works in general, as everything I add to the config will work, but adding +prefix or +suffix is pointless. Can someone help me with this?

    permissions config file: http://pastebin.com/yQ4rvUhr
    I'm currently using TheYeti's Permissions 2.3

    ichat config file: http://pastebin.com/Jmxjfx7r
    currently using version 2.08

    my current craftbukkit version is 493 (though on 440 it wasn't working either)
     
  27. Offline

    Drakia

    To the previous two users, do your permissions work for other things (Such as commands?)
     
  28. Offline

    Thomas Hutton

    Wow, it's hadn't occured to me that I was only able to use essentials commands because I was an op. No wonder my players couldn't use any commands. Also explains multiverse acting up...

    I had always thought permissions was working since the console told me that other plugins were using it, but indeed they weren't.

    Alright now that that's apparent, have any ideas on a fix my good man?
     
  29. Offline

    Drakia

    There's too many perm plugins these days, all I can do is send you to the plugin thread for help, sorry.
     
  30. Offline

    Thomas Hutton

    It's alright Drakia, now that I know that the actual problem is with permissions, I can direct my questions at TheYeti. Thanks

    Also I really appreciate someone bringing this plugin back :)
     
  31. Offline

    Drakia

    You and the other 3000 people who use it :) The amount of downloads this thing has gotten was seriously surprising. And it's one of the reasons it's currently my most-updated plugin.
     
Thread Status:
Not open for further replies.

Share This Page