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

    You are using a f*cked up version of Permissions that claims to be 3.x but is actually 2.x. This is not compatible with iChat.
    Invalid Paste ID
    A) I do not support PEX, I find it to be a terrible plugin that causes nothing but issues with inheritance and negation.
    B) You have provided absolutely ZERO information, so no.
    @Elfsovereign
    Server log. Permissions Config.
    @cullyn
    I do not officially support PEX as it has the worst method of handling inheritance and negation I have seen.
    @h0us3cat
    That error is in Permissions, not iChat. Most likely your Perms config is screwy
    @Edam
    Server log.
    @MrMag518
    PEX is terrible.

    "Insanity: doing the same thing over and over again and expecting different results." -- Albert Einstein.
    Seriously, how many people did I just tell to post their friggin log? And how many of those people who did end up posting their log were using some retarded version of Permissions? I'm about ready to drop this plugin with the amount of stupidity on these forums.
     
  3. Offline

    h0us3cat

    @Drakia, hmm i did not change anything in my permissions config.
    it works fine on older versions (2.3) cb #1185.
     
  4. Offline

    Drakia

    What version of Perms are you running? 2.7.4 doesn't have anything NPEable at that line.

    Off to work.
     
  5. Offline

    h0us3cat

    2.7.2
    but i will try again i guess.
     
  6. Offline

    Drakia

    I can see running 2.7, but why are you running an old version of it?
     
  7. Offline

    Edam

  8. Offline

    goodoletom

    It works for me, you just need to update to current version!
     
  9. Offline

    JSmoove98

  10. Offline

    Zaydene

  11. Offline

    blazen988

    yeah mine isnt either. I have been working on it for 4hrs now and still am having no luck
     
  12. Offline

    Drakia

    I'm going to have to look more into this. These new permissions handler don't seem to know how to do inheritance worth shit.
    You are not specifying any group.{name} nodes.
    You did not provide the required information.
    You did not provide the required information.

    Off to do another 10 hours at work.
     
  13. Offline

    Lolmewn

  14. Offline

    DasDing50

    I don't have colours in the chat. First there is the group in brackets and then the chat text but the group isn't coloured. I have updated today to 2.4.1 and until today it work's but now it doesn't work anylonger.
    I use Permissions 3 and didn't change any of the iChat configs.
    Here *click*, the Permissions 3 groups.yml.
     
  15. Offline

    JSmoove98

    What do you mean group.name nodes?
     
  16. Offline

    Drakia

    Read the first post.
    Read the first post. Im going to assume you didn't create a variables.yml file.
     
  17. Offline

    DasDing50

    I have a variables.yml file, but I don't want to add ech group-name and user-name in the variables.yml file, too. Because there are all in the groups.yml and users.yml from Permissions. Can't get iChat no informations from Permissions anylonger? Before the update it work's the same way...
     
  18. Offline

    JSmoove98

    even with the group.name nodes his plugin still doesnt work with permissionsbukkit
     
  19. Offline

    AstroNit

    Same as a guy before, I'm on Multiplay Clanforge
     
  20. Offline

    Sydael

    I'm trying to make it work. I'm using Permissions 3.x
    I got prefix '&4' in my group but all i get is the group name, but white.
     
  21. Offline

    N00B_Daddy

  22. Offline

    ZachBora

    Make sure you're writting in the variables.yml?
     
  23. Offline

    Sydael

    Okay. I did write in variables. The problem is with ichat and factions plugin. Factions plugin insert a faction tag which i guess messes up the prefix.

    What i did:
    in factions config, i've changed 2 options to this:
    "chatTagInsertBeforeString": "+prefix",
    "chatTagInsertIndex": 0,

    And now the ichat colors and faction tag relations work.
     
  24. Offline

    RG_PankO

    The most epic fail ever.

    PEX was one of the 1st plugins that supported MySQL driven permissions.
    I a still on it controling my server with automatic activation of the user using MySQL.
    But you go support fucking noobish .yml files @Drakia
     
  25. Offline

    grifOndOr

    update to 1240 and now have those errors :

    Code:
    [SEVERE] Error occurred while enabling iChat v2.3.3-p3 (Is it up to dat
    e?): tried to access method org.bukkit.craftbukkit.command.ColouredConsoleSender
    .<init>(Lorg/bukkit/craftbukkit/CraftServer;)V from class net.TheDgtl.iChat.iCha
    t
    java.lang.IllegalAccessError: tried to access method org.bukkit.craftbukkit.comm
    and.ColouredConsoleSender.<init>(Lorg/bukkit/craftbukkit/CraftServer;)V from cla
    ss net.TheDgtl.iChat.iChat
            at net.TheDgtl.iChat.iChat.onEnable(iChat.java:69)
            at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:126)
            at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader
    .java:941)
            at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage
    r.java:280)
            at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:174)
            at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:157
    )
            at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:297)
            at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:284)
            at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:152)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:348)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
     
  26. Offline

    ZachBora

    Update ichat, you're using 2.3.3...
     
  27. Offline

    Drakia

    Really, you want to talk to me like that in my own topic? Fine. What have you done for this community? Nothing, you ask stupid questions like how to make your server lighter WHILE RUNNING MYSQL. Guess why I don't offer support for PEX? Because it has the stupidest load order out of any Perm handler I've used.
    How about instead of being an asshole to people who actually contribute to this community, you take your keyboard and beat yourself to death with it.

    @grifOndOr You're using an outdated version of iChat.
     
    Daniel Heppner, Brain and ZachBora like this.
  28. Offline

    N00B_Daddy

  29. Offline

    Drakia

    Ive been working 12 hour days most of this week which leaves me ~2 hours to eat and relax before I go to bed, so I haven't had any time to look over the files. Hopefully I'll be able to get to it Friday or sometime this weekend. Sorry for the delay.
     
  30. Offline

    ZachBora

    Looking at http://pastebin.com/hz981jcZ I noticed 2 things
    1- You aren't on craftbukkit 1240
    2011-10-05 23:36:36 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-1113-g7dc2c4c-b1298jnks (MC: 1.8.1)

    2- that log is on ichat 2.3.3
    2011-10-05 23:36:57 [SEVERE] Error occurred while enabling iChat v2.3.3-p3 (Is it up to date?): tried to access method org.bukkit.craftbukkit.command.ColouredConsoleSender.<init>(Lorg/bukkit/craftbukkit/CraftServer;)V from class net.TheDgtl.iChat.iChat

    Now this could just be old data. Regarding the actual problem, what you could do that (That I am doing on my server) is to put the group name inside the prefix.

    Ex:
    Code:
    groups:
        Peasant:
            name: Peasant
            prefix: '&8Peasant'
            suffix: ''
    And :

    message-format: '[+prefix+suffix&f] +name: +message'
     
  31. Offline

    grifOndOr

    update to 241, seems better... thanx
     
Thread Status:
Not open for further replies.

Share This Page