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


    Interesting - I have tried out both of your configurations on my test server and they work fine, as demonstrated by the pictures below.



    First thing I'm going to suggest is that you guys delete your HeroChat.jar and re-download the latest version. I realize that this seems like a silly test and you probably won't want to do it, but please don't ignore it. I sometimes realize a small bug immediately after posting an update and repost a fixed plugin moments after the broken one was posted.

    If you are still having issues reinstalling the plugin, I'm going to need some more information. Please link me your HeroChat configuration file and tell me what build of Bukkit your server is running.

    Thanks for your cooperation.
  3. Offline


    I tried that, I deleted the herochat folder and replaced the .jar and the folder with the v2.41. Could it be my craftbukkit version broke it? Or essentials, because that's been giving me loads of problems. What craftbukkit build are your running?...mines not the newest, but not the oldest.
  4. Offline


    I have 3 different config file in my zip, which one do I have to use? there is no XML file, and the staff.txt described in the description above. I have data (2).yml, data - Copy.yml and data.yml ... ?
  5. Offline


    I am on Build 168 just for the info, I will re-d/l and see if it's any different.
  6. Offline


    Im getting this error ;O
    Using the latest build. (i think its 173)

    2011-jan-30 17:41:37 org.bukkit.plugin.SimplePluginManager callEvent
    ALLVARLIG: Could not pass event PLAYER_CHAT to HeroChat
            at com.nijiko.permissions.Control.getGroup(
            at com.bukkit.dthielke.herochat.util.MessageFormatter.createLeader(Messa
            at com.bukkit.dthielke.herochat.util.MessageFormatter.formatMessageWrapp
            at com.bukkit.dthielke.herochat.Channel.sendMessage(
            at com.bukkit.dthielke.herochat.HeroChatPlayerListener.onPlayerChat(Hero
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
            at net.minecraft.server.NetServerHandler.a(
            at net.minecraft.server.Packet3Chat.a(SourceFile:24)
            at net.minecraft.server.NetworkManager.a(SourceFile:232)
            at net.minecraft.server.NetServerHandler.a(
            at net.minecraft.server.NetworkListenThread.a(SourceFile:104)
            at net.minecraft.server.MinecraftServer.h(
    Halp plox??
  7. Offline


    i downgraded to to b140, and now essentials work, which didn't before. But I still get the same failure for the admin group, It just completely negates the admin group, and I become a Default
    --- merged: Jan 30, 2011 9:11 PM ---
    Should I uninstall iChat or essentials? Could one of those be causing a problem?
  8. Offline


    @uncovery, sorry, re-download the archive and there should be only one configuration file. However, the configuration scheme as a whole has changed away from the XML and staff files, so please re-read the configuration section in the original post.

    @CorumAnime, sorry, but at this point I don't see myself adding this. I believe you can check players' health through the Essentials plugin (correct me if I'm wrong).

    @MatCat, HeroChat has been successfully tested on the HeroCraft server using builds 162 and 168. Let me know if reinstalling the plugin has any effect.

    @TomTish, this is actually an error thrown by the Permissions plugin, so it's likely a problem with your Permissions config. If you upload your configuration to pastebin I can take a look at it for you.

    @Retricide, this is very strange. Try uninstalling both iChat and Essentials and see if it works. If it does, then try reinstalling them one at a time to see which is the culprit.
  9. Offline


    Alright, Thanks. Also, is it possible to have server.log show the errors the console gets when starting? I see errors when I start the server in Putty, but i have noone to copy them. I don't think its related to herochat, but it might be. Any ideas as to how to get the errors to appear in server.log?
    --- merged: Jan 30, 2011 10:43 PM ---
    i think I found my problem.
    I tried downloading 2.41 yesterday, and the zipped size was about 279,326. However, I just tried now and now the zip is 278,298. I tried downloading again, just now, and got another zip, with its size being 278,298. Was there a fix to 2.41?
  10. Offline


    I just uploaded it again a few minutes ago to delete some extraneous configuration files. The current (and correct) upload is 278,298 bytes (271 KB). Is it working now or are you still having the same issue?
  11. Offline


    Is there any way to allow anyone to quickmessage a channel (such as the help channel for example) and only allow mods/admins to see it, so it only shows up as global for them? That would help prevent spam on my server
  12. Offline


    @drtaru, I feel that something like that is out of the scope of this plugin. If you want to use an actual help system that only mods and admins can see, I suggest a dedicated help plugin such as PetitionPlugin. A help chat channel would be for more informal things that anyone might be able to help with.
  13. Offline


    Keep the ass kicking plugin writing :)
  14. Offline


    Cool all works fine now. I quickly tested one of the later bukkit builds by the way since its required by one of the other plugins and your chat did not display text in the game, only on the console until I entered "/ch reload". I am not sure if this is still the case with the very latest build, but just a heads up for you.
  15. Offline


    I had the issue of Admin prefixes not displaying. This is caused by the Essentials plugin which changes how you write, if you are an OP, default is to make your text coloured &c. To fix this, simply remove yourself from the OP.txt file and your admin prefix shall work. This will limit you a little but its your choice to make.

    Hope this helps!
  16. Offline


  17. Offline


    I've noticed this too and i think it has more to do with the /nick command.
  18. Offline


    I have /nick disabled on my essentials and admin group is still not working. Though last night I tried running b186 to see which plugins where not compatible, and ironically it was working during that period, when I went back to 168 it worked until I did a server restart and then admin prefix stopped working again.
  19. welcome to Herocraft Coding :D
  20. Offline


    oh, piedo you fixed my problem XD. Thanks so much! +1 rep lol
  21. Offline


    do commands work with builds 180+? im using cb#186, but multi-input commands ie: /command opt1 opt2 opt3 dont work since like 168 unless the plugin was updated.
  22. Offline


    Breaks CraftIRC! Will donate if you fix.
  23. Offline


    Very nice plugin. Might want to update the "Installation" section tho. btw how about password protected channels?
  24. Offline


    Is this broke with b188? :eek:
  25. Offline


    This is why versioning exists, to prevent this.
  26. Offline


    Prefix & Suffix don't work because yes while you use GetDisplayName, if the display name is different than the PlayerName it checks the wrong permission. So for permissions you need to check getName() instead of getDisplayName, but in chat only show getDisplayName.

    Hopefully this makes sense.
  27. Offline


    @fffizzz, I haven't tried it myself, but I haven't heard any reports about it not working so far.

    @d3x, I'll look into this and see what I can do to support it.

    @phaed, password protecting channels isn't a bad idea. You can likely expect this in a future release. Also, I change versions whenever I release a new compile. However, in that particular case, all that happened was that I deleted two extra unnecessary and unused configuration files from the archive. The actual plugin itself was untouched, so I didn't bother versioning as either download would've worked the same.

    @Nijikokun, getDisplayName is only used for the actual presentation of the message by the formatter. All permissions and identity checks are done using plain old getName. Prefixes and suffixes both work fine to my knowledge.
  28. Offline


    You are wrong, I had to put my nickname in permissions to get my prefix / suffix to work.
  29. Offline


    Turns out you're right - I must've switched the two when I rearranged some of the formatting. I'll upload a fix in a minute. Thanks for the catch.
    --- merged: Feb 1, 2011 10:11 AM ---
    Fix posted. Let me know if it works now.

    Version 2.42
    • Minor bug fix to improve player nickname support
  30. DThielke, I appreciate you've already said no, but let me plead once more in a more specific way. What the Healthy mod does is insert into the chatname their health bar. It doesn't require any coding on your part. What I think is happening is you're using your own command to display the players name or nickname, and not using the standard command to do it, hence it's breaking it. I don't expect you to code in a way of showing player health, just hoping you might stop blocking it. It helped my server RP lots. Maybe if /nick is disabled globally then you could use the normal command to display the name, thats all.

    Don't misunderstand me - I love your chat plugin and thats why I'm pleading here. Not dissing Nijikokun at all but complimenting you - HeroChat works for my needs better than iChat. I bet if you asked nicely Nij would even give you the source of Healthy to just paste in if the option is selected - thats gotta be pure win.

    Lastly I really hope you release the source or something, because instead of begging for minor tweaks I could do it myself - things like shorter localchat or a way to prevent Jailed people spamming chat, etc. Or inserting Healthy as above. :)

    I do love HeroChat. It's awesome! Regardless of your response, thanks for taking the time to code it and thanks for sharing it - HeroCraft Server is super lucky to have you!

    Take Care,

    p.s. Nij, I think this guy deserves to be listed as a Plugin Developer - his plugin rocks, he's constantly improving it and responding to feedback. I don't know the process or if he even wants to, but maybe you could advise? Thanks.

Share This Page