Inactive [CHAT] HeroChat v4.10.3 - Comprehensive Chat Channel Plugin [1060]

Discussion in 'Inactive/Unsupported Plugins' started by DThielke, Jan 26, 2011.

  1. Offline


    HeroChat The Chat Channel Plugin (v 4.10.3)
    Download HeroChat
    Source Code on GitHub This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.
    Redmine (Issue/Feature Tracker)

    Permissions 3.0
    Rcjrrcjr has been working quite hard on this upgrade to Permissions. However, it currently still suffers from a number of bugs. The most important of these which directly affects HeroChat is the non-functioning of prefixes and suffixes. There are less-than-pretty workarounds, but I'm refraining from fully supporting an update until Permissions 3.1 is released which should include a number of significant bug fixes. When this does occur, however, I have a build ready for you guys that should work. You can download it here. Again, I highly suggest not using this until Permissions 3.1 is released unless you really don't care about prefixes and such.

    See you when I get back!

    Is your config resetting when you make changes?
    If you make changes to the config while the server is running, you need to use the /ch reload command to make the changes stick. I wish this message wasn't necessary, but people only seem to read things in big, bold, red text (if at all).

    Have a problem? a feature request? Go here.
    HeroChat now has its very own redmine found here. If you have an issue or would like to suggest a new feature, I urge you to file it via redmine. I will be checking this much more often than this thread from here on out.

    Show your thanks! Maintaining plugins like HeroChat is very nearly a full time job. If you enjoy my plugins and appreciate the support I provide, then please consider providing some support of your own. Donating even a tiny amount keeps me motivated and makes me feel loved so go ahead and donate!

    What is HeroChat? HeroChat brings a multiple channel system to Minecraft. Through the use of highly customizable channels, even the largest of servers can have manageable and readable chat.

    • Chat channels
      • Highly configurable
      • Public, private and password protected channels
      • Configurable custom message formatting including colors and health bars
      • Channel moderation
      • Local channels
    • Ignore lists
    • Regex-based censorship
    • User setting persistence
      • Automatically saves your settings when you log out
    • Permissions integration
      • Prefixes and suffixes
      • Restrict joining and speaking in channels
      • Restrict important commands
    • CraftIRC integration
      • Relay messages between Minecraft and IRC
      • Configurable links between in-game and IRC channels
    How do I install it? Take a look at the installation and configuration wiki found here.

    How do I use it? Take a look at the usage wiki found here.

    A Message to Users
    Thanks for all your support! I will do my best to keep this plugin updated and bug free. If you have any issues or feature requests, feel free to either leave a message here or find me in #herochat on EsperNet.

    Extra special thanks to my donors: TheYeti, playnight

    Change Log
    Show change history (open)

    Version 4.10.3
    • Fixed players not rejoining private channels when Permissions isn't loaded first.
    Version 4.10.2

    • Fixed a bug with {group} when not using Permissions
    Version 4.10.1

    • Fixed a bug with CraftIRC join/leave events ignoring the join-messages option
    • Added the {group} tag
    • Added the {groupprefix} tag
    • Added the {groupsuffix} tag
    Version 4.10.0

    • Added the separate-chat-log option
    Version 4.9.0

    • Renamed the global craftIRC-tag option to craftIRC-prefix to avoid confusion
    • Replaced the channel specific craftIRC-tags option with game-to-IRC and IRC-to-game to allow one-way communication
    Version 4.8.11

    • Added color support for the irc-tag
    Version 4.8.10

    • Fixed a bug with privileged channels and reloads
    Version 4.8.9

    • Added the local-distance option to set the local distance on a per-channel basis
    Version 4.8.8

    • Removed debugging code I left in accidentally
    Version 4.8.7

    • Fixed an infinite loop with certain censors
    Version 4.8.6

    • Updated for CraftBukkit 612
    Version 4.8.5

    • Updated for CraftBukkit 602
    Version 4.8.4

    • Added a permissions check before rejoining channels during a /ch reload
    Version 4.8.3

    • User settings are now saved before /ch reload does its thing
    Version 4.8.2

    • Added one-time tells to the /tell command
    • Added the {receiver} tag for use in tell formats
    Version 4.8.1

    • Changing focus now ends /tell conversations
    Version 4.8.0

    • Added the cross-world-chat channel option
    • Separated user data into multiple files
    • Added the /ignore alias for /ch ignore back in
    Version 4.7.6

    • Minor improvement to command handling
    Version 4.7.5

    • Minor fix for certain command specific help pages
    • Added global toggle (toggles all channels) to /ch toggle
    Version 4.7.4

    • Minor internal change to how format tags work
    • Minor change to how messages are sent to CraftIRC (allows player specific tags such as {prefix})
    Version 4.7.3

    • Fixed issue with CraftIRC messages being repeated in IRC
    Version 4.7.2

    • Fixed a bug where /qm g ? would show the command help rather than sending a message
    Version 4.7.1

    • Fixed a minor formatting bug regarding join/leave messages in the console
    Version 4.7.0

    • Added the /tell command to create private conversations
    • Added the incoming-tell-format and outgoing-tell-format options to the config
    Version 4.6.0

    • Added the /ch toggle command to allow temporary enabling/disabling of channels
    Version 4.5.0

    • Added custom replacements to the censor feature in the format 'censoredword;replacement'
    • Added the 'herochat.color' permission to allow players to use colors on the fly in their messages
    • Added the mute (per channel) and gmute (global) commands
    • Revamped help menu
    • Added command specific help. Type /<command> ? to use it (ie. /ch create ?)
    Version 4.4.3

    • Fixed a bug when creating a channel with all 5 arguments provided
    Version 4.4.2

    • Improved command handling
    • Fixed a bug where commands longer than the actual commands were being accepted
    • Removed the {color.COLOR} tags - use the usual &c colors now
    • Replaced the {color.CHANNEL} tag with {color}
    Version 4.4.1

    • Fixed a bug with colors in message formats containing underscores
    Version 4.4.0

    • Added regex based word censor
    Version 4.3.7

    • Fixed any and all line wrapping issues (thanks to Bukkit for fixing MC's color line-wrapping bug)
    Version 4.3.6

    • Added the reserved channel name list back in
    • Fixed a potential issue with the /<channel> <message> shortcut command
    Version 4.3.5

    • A default configuration file is now created if you do not have one
    Version 4.3.4

    • Removed the DEBUG message I left in
    Version 4.3.3

    • Fixed line wrapping issues related to Finnish characters.
    Version 4.3.2

    • Fixed the ignore feature
    Version 4.3.1

    • Quick messaging now also relays to IRC
    • Added an option to configure the format for game->IRC messages
    Version 4.3.0

    • Added CraftIRC support!
    Version 4.2.1

    • Updated the help command to reflect the password additions
    Version 4.2.0

    • Added passworded channels
    • Updated /ch create command to allow passworded channel creation
    Version 4.1.6

    • Fixed a bug related to negative health values.
    Version 4.1.5

    • Fixed an error when using custom display names.
    Version 4.1.4

    • Added full error reporting to Permissions issues.
    Version 4.1.2

    • Added licensing information to source and original post.
    Version 4.1.1

    • Finally found the cause of the line wrapping bug. It's fixed now.
    • Implemented stricter version checking for Permissions. HeroChat will disable itself it the right version isn't found.
    Version 4.1.0

    • Added a message for the plugin's onDisable() method.
    • Re-implemented the old quick message feature.
    • Added world specific channels.
    • Fixed the /ch reload command.
    • Added the {world} and {healthbar} tags.
    • Added an overloaded sendMessage for other plugins to use.
    Version 4.0.2

    • Minor change to make HeroChat compatible with future Permissions version names
    Version 4.0.1

    • Fixed a bug when creating channels without specifying a color
    • Decided on a more logical version naming scheme
    Version 4.00

    • Major internal rewrite
    • Added error handling around Permissions to help identify issues with Permissions configs
    • Temporarily removed iChat support
    • Updated for new versions of Permissions
    • The old /ch channels command is now /ch list
    • The old /ch list command is now /ch who
    Version 3.21

    • Another attempt to fix line wrapping.
    Version 3.20

    • Fixed an issue with the /ch remove command.
    Version 3.19

    • Minor adjustment to line wrapping.
    Version 3.18

    • Moved command handling to onCommand.
    • Removed replaced old quick messaging behavior with /qm <channel> <message>.
    • Reworked /ch create command.
    • Added special /ch help create menu.
    • Updated to add Permissions 2.4 support.
    • Removed GroupManager support.
    Version 3.17

    • Fixed banning and kicking players again.
    Version 3.16

    • Players are no longer able to speak in a channel after being kicked or banned from it.
    Version 3.15

    • Added configurable option that defines the tag used to prefix all plugin messages - defaults to [HeroChat]
    Version 3.14

    • Added support for {healthbar} tags in prefixes and suffixes
    Version 3.13

    • Added support for GroupManager. Permissions should still work though!
    Version 3.12

    • Minor internal changes
    Version 3.08

    • Updated to meet new Bukkit standards
    • Fixed long constructor spam
    Version 3.07

    • Added support for other plugins to send messages to channels without a Player object
    • Bug Fix: another attempt to work around the local chat location issues
    Version 3.06

    • Bug Fix: other plugin commands should work again
    Version 3.05

    • Bug Fix: accidentally forgot to set loaded channels to saved
    Version 3.04

    • Added checks for cancelled events.
    • Bug Fix: channels are now only saved if the "saved" option is added
    Version 3.03

    • Bug fix: local channels should REALLY save and work correctly - seriously.
    • Bug fix: the /ch reload command no longer crashes the client
    Version 3.02

    • Bug fix: local channels should now save correctly.
    Version 3.01

    • Bug fix: fixed missing permissions check when automatically joining channels the first time a user enters the server
    Version 3.00

    • Added optional join/leave messages.
    • Channel moderators can now delete their own channels.
    • Channel moderators can now ban users preemptively, even if they aren't online.
    • All user settings are now saved across logins.
    • Removed the /ch auto and /ch default commands as they are now obsolete.
    • Configurations are now stored in a different file with a slightly different format. Old data.yml files are converted automatically to assist in this change.
    Version 2.67

    • Bug fix: issue with /ch list
    • Bug fix: issue with /ch mod
    Version 2.66

    • Bug fix: fixed an issue where players couldn't toggle off their personal autojoins
    Version 2.65

    • Bug fix: forgot to include plugin.yml in the jar last build
    Version 2.64

    • Fixed censor color code formatting
    Version 2.63

    • Cleaned up code a bit
    Version 2.62

    • Improved line wrapping so the last color of the first line is reapplied for each subsequent line
    Version 2.61

    • Players can now add channels to auto-join with the /ch auto command
    • Minor bug fixes
    Version 2.53

    • Actually removed channel joining messages when plugin is enabled (silly typos)
    Version 2.52

    • Removed channel joining messages when plugin is enabled (or externally reloaded)
    Version 2.51

    • Fixed rejoining default channels when reloading the plugin via Essentials
    Version 2.50

    • Added health bar support from iChat (iChat required)
    • Bug fixes
    Version 2.42

    • Minor bug fix to improve player nickname support
    Version 2.41

    • The join, leave and ignore commands can now also be accessed using /ch join, /ch leave and /ch ignore, respectively
    Version 2.40

    • Fixed major bug with /ch reload command
    • Message formatting now uses Player.getDisplayName() instead of Player.getName()
    Version 2.33

    • More bug fixes (fixed channels not being checked for join permissions when attempting to autojoin channels at startup)
    Version 2.32

    • Various bug fixes
    Version 2.31

    • Prefixes and suffixes can now be user-specific
    Version 2.30

    • Slight configuration file restructuring (I promise this will be one of the last times this occurs)
    • Channels can now have restricted join and speak privileges based on permission groups
    • Channels can choose to override the default format string
    • Minor bug fixes
    Version 2.20

    • Console logging added.
    Version 2.10

    • Fixed bug so that message formatting works properly
    • Hidden channels are now hidden from the channel list even if you're in them
    Version 2.00

    • Massive restructuring of code
    • Redone config files - make sure to read the new configuration section
    • Channel moderation added (/ch kick, /ch ban, /ch mod)
    • Custom message formatting added
    • Local channel distance is now adjustable
    • More bug fixes
    Version 1.10

    • Added the /ch reload command
    • Improved suffix support
    • Improved multi-line message support
    • Various minor bug fixes
    Version 1.00

    • Initial public release!
  2. Offline


    What version of HeroChat are you running? Could I get a full server log from start-up?
  3. Offline


    More local chat options.
    Individual person nametags (without a group)
  4. Offline


    What sorts of local chat options would you like to see?
    I'm not sure what you mean by nametags, but if you're referring to prefixes and such, these can already be defined on a player-specific level.
  5. Offline


    By more local options, I mean prehaps more local chats.
    Local chat 1 has a 25 block radius
    Local chat 2 has a 50 block radius
    Local chat 3 has a 100 block radius
    It would be appreciated,
    - Monkah
  6. Offline


    ok guys, i need a help.
    In my permission config i have this:
    default: false
    prefix: '&4'
    suffix: 'God'
    build: true

    how to set herochat's config, that in global chat all players have this form: ?
  7. Offline


    I had an old version, its now working. Also is it possible to add this :

    When a player say something that appears in the censor list, they get mute for couple seconds (temp mute)
    4am likes this.
  8. Offline


    I'd like to see (mainly local) features:
    • Assignable local-distance on a per-channel basis.
    • Start a message with . (or the character of your choosing) to whisper (distance set by default-whisper-distance or per-channel whisper-distance). 3-5 blocks is a good default for fresh install? Only works in a local channel, if you're using all-global channels PMs make more sense. (Imagine players getting ready to attack needing to huddle up to speak, or else the enemy might hear them!)
    • Start a message with ! (or the character of your choosing) to shout a greater distance (again configurable). This could come with a cooldown (i.e. your voice gets tired of yelling after so many messages)
    • Perhaps (and this is being fancy) alternate triggers for whisper and shout, such as (typing in parenthesis) to whisper; Ending your sentence with two exclamation points!! to shout (using two allows players to exclaim without shouting; extra emphasis signals to use the shout-distance). A bit more natural than prefixing your messages; not sure how you'd make it configurable? Offer a list of choices (parenthesis, square, curly)? Trust server admins to write a custom regex for the format they want?
    • iConomy taxation: Useful to discourage plodding about on Global, for example. Or be Orwellian and charge to whisper! If big brother* can't hear you, it'll cost you! (*not a reference to the plugin BigBrother lol)
    Give me some time, I'm sure I can come up with more:)

    If your default-message-format looks like this:

    '{color.CHANNEL}[{nick}] {color.WHITE}{prefix}{player}{suffix}{color.CHANNEL}: '
    then that's how your messages should already be. Perhaps change {nick} to {name}, and be sure your players are chatting in the correct channel.

    Check out the "Message Format" section of the wiki:

    EDIT: Your prefix in Permissions groups.yml should be:
    prefix: '&4God'
    Prefix comes before the name, Suffix comes after. Of course, if you need your permissions config to stay how it is for some reason, you could always do:

    '{color.WHITE}[{prefix}{suffix}{color.WHITE}] {color.ROSE}{player}{color.CHANNEL}: '
    ...but that's not very versatile, and may produce unexpected results later on.

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


    This has been on my to-do list for a long time, but it always seems to get pushed back by something else. I'll try and get this implemented soon.

    Once variable distance local channels are implemented, admins can simply assign different tags to each channel (ie. /w, /s, /r for whisper, shout, and region respectively). Right now I don't see myself adding chat messages prefixes like '.' as it will just add clutter to an already packed config, only to provide nearly the same functionality as what already exists.

    I pretty much covered the first part in my previous response. As far as cooldowns go, I think this would be best delegated so an independent plugin which takes advantage of the HeroChat event API.

    This is again very similar to your previous ideas. However, if I were ever to implement in-message commands like this, I would stick with having them at the beginning. Otherwise, you'll end up with a lot of unintentional "shouts" whenever people decide to end their messages with a series of exclamation points.

    While an interesting idea, I think this again goes beyond the scope of this plugin. Once I add events for the new tell system, this will be possible through a separate plugin that interfaces with HeroChat.

    I apologize if I seem to be shooting down your ideas without much consideration - that's not my intention! I appreciate your brainstorming, but I try very hard to limit features to those which are really essential to a core chat plugin in order to keep both the plugin and its configuration manageable. The configuration can already be quite daunting to new users as is.

    That being said, I've been doing a decent amount of work on a full event-based API for this plugin which will allow other users to extend its functionality to some of these more extraneous features. Once the API is finished, I'll produce thorough documentation on it and possibly look into implementing some of your ideas as separate plugins for HeroChat.

    Very minor update.

    Change Log
    Version 4.7.6
    • Minor improvement to command handling

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


    My users dropping out of channels randomly. I think it only happens between logout/login, so maybe the users file get saved wrong? Its really random and happened one day to nearly all users, now only for a few now and then.
    This even happens for forced channels like the default AlertSystem.

    Currently using CB 531 and HC 4.7.2 (I think, but it happened before too)
  11. Offline


    Try searching your server logs for [WARNING] [HeroChat] and post anything you find (including errors near these warnings) here. Also, I suggest updating to the latest recommended build of CB.
  12. Offline

    Nathan C

    Yeh, not sure what is going on. Everytime I put anything in the "censors" field in the config, it just reset on the server reload or restart.

    Here is an example of one I try to add.

        craftIRC-tag: '#'
        censors: ['ass']
        default-local-distance: 100
        plugin-tag: '[CHAT] '
        default-channel: Global
        default-message-format: '&f{prefix}{player}:{suffix}{color} '
        craftIRC-message-format: '[{nick}] {player}: '
    Then it just resets back to the default, blank censors....
  13. Offline


    If you're making changes while the server is live, you need to do /ch reload from within game or from the console to apply the changes.
  14. Offline


    Yes it did. latest version does not have that anymore, so I am fine
  15. Offline


    An API is so much better on so many levels, definitely devote time to that instead!

    PS: I find the configs to actually be some of the most straightforward of any plugin, the hard work is appreciated! I wish more plugins where as well thought-out as this one!
  16. Offline


    I appreciate the support.
  17. Offline


    2011-03-16 22:44:49 [WARNING] [HeroChat] Error saving player data. Delete your users.yml
    ...some more of that error...
    2011-03-16 22:45:02 [WARNING] [HeroChat] Error encountered while loading data. Check your config.
    yml and users.yml. Disabling HeroChat.
    2011-03-16 22:45:05 [WARNING] [HeroChat] Error saving player data. Delete your users.yml
    ...some more of that error...
    Well, should have done that before :) How can this go wrong and can the user loose channels this way? I found those errors 2 times in the last 2 weeks, but think there was more (minor) channel looses.

    I kinda have to stay at CB 531 as LWC doors are broken on newer builds and my users use it for vaults...
  18. Offline


    There should be a stack trace associated with each of those errors (one of those long, multi-line errors that probably mean nothing to you). Could you post those?
  19. Offline


    um ive posted here before but i cant find the post at all, how would i go on about changing the colour of the texts, i found the place where i change it i just don't understand the coding can someone give me a little crash course in the colour changing?

    this is my code from hero chat

        craftIRC-tag: '#'
        incoming-tell-format: '{prefix}{player} &8->&d '
        - \bu+\W*m+a+d+(\W*br(a|o)+)?
        - some_other_word;replacement
        default-local-distance: 100
        plugin-tag: '§e[HeroChat] '
        outgoing-tell-format: '{prefix}{player} &8->&d '
        default-channel: Global
        default-message-format: '{color}[{nick}] &f{prefix}{player}{suffix}{color}: '
        craftIRC-message-format: '[{nick}] {player}: '
    and this is my code from permissions

                prefix: '&f[&cOwner&f]'

    and this is what it looks like in game


    can only tell me i want my name to be in light greyish and the actual text to be in white
  20. Offline


    Read the section on Message Formats in the setup wiki found here:

    For a list of hexadecimal color codes, refer to the Color Codes section on this page: It includes a table of the colors and their associated code (ie. &f for white).
  21. Offline



    Don't know if anyone has ever said anything here, but when players log out, some servers experience a very noticeable lag spike. For some disabling HeroChat has fixed it, for me disabling essentials reclaim option seems to fix it. I haven't tried disabling HeroChat myself yet.

    Take a look at this tread.

    You will know better than be if that can relate.

    Thank you.
  22. Offline


    Hey everyone, sorry to be a bother but a recent change has occurred with an unknown cause, whenever "/help" is executed in game it refers to Hero Chat and gives the example "/qm" to quick message, perhaps there is a quick fix so the Help interface can be seen. Thank you.
  23. Offline


    HeroChat doesn't do any I/O when a player logs out (in fact, it hardly does any processing at all). We had this issue on our server a while back and also originally thought it was HeroChat, but we eventually realized it was an issue with how bukkit handles chunk unloading. Kainzo reported the issue and I believe it's been fixed since.

    Do you have a channel named or nicknamed Help? If so, rename it as it will cause conflicts.
  24. Offline


    Oh really, hmm. Do you know what CB it was fixed in? I am running 556 now.

    I wonder why setting reclaim to false in essentials config fixed it. :/

    Glad it's not this plug in, just want to make sure you knew :)
  25. Offline


    Chances are that if Essentials has that option then it hasn't been fixed yet (that would be Essential's workaround fix for it I assume).
  26. Offline


    Please make the healthbar better, i find it too short): I hope you can make it look like the old plugin, Healthy :D
  27. Offline


    I want to make a chat channel for each world that I have. if I make one for "world" and one for "nether" they should be each auto-joined when one enters that world. Is that possible? Just setting them on auto-join did not help so far...
  28. Offline


    Well, just because you define a channel to be world-specific, that doesn't mean that you automatically leave the channel when leaving the world. Therefore you can be in the "world" and "nether" channels at the same time, but you'll only be able to read and write to the one associated with your current world. So you see, autojoining isn't necessary in this case because you never left the channel to begin with.
  29. Offline


    but when switching from one world to the other, the channel for the respective world is not automatically set. Sorry, I did not explain that well in the last post.

    When I am in "world" and chat in "w" it works fine. I then go to "nether" and start typing, I get a message that I am in the wrong world to talk on the channel "w". This forces people to manually switch around, which I think is not a good solution.
  30. Offline


    Ah, you mean auto-focusing then. Currently that isn't possible and it's not something I plan on implementing as it would be quite problematic (what if they weren't speaking in w to begin with? etc).

    That being said, what I can and will do is add a cross-world-chat option to each channel. If true, channels will act as they do now and broadcast messages to anyone in a world listed in worlds. If false, however, messages will only be sent to players in the same world as the speaker. This will allow you to create a single channel that is world-specific (players in nether will only hear other players in nether, etc) and therefore users won't be required to switch channels when they enter a new world.
  31. Offline


    Yeah that sounds like a great option! I was thinking that it might be tricky to do auto-focus. But what you describe is basically what I need.

Share This Page