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

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

  1. Offline

    DThielke

    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.

    Features
    • 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

    DThielke

    Will do.

    After looking at gastronomic's page, I don't understand how it could conflict - it has nothing to do with chat. Correct me if I'm wrong (I've never actually used the plugin).

    This is something that would have to be done from dynmap's end.

    Look harder. The download is nothing but a jar. Right click -> save as -> make sure it has a .jar extension.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jul 18, 2016
  3. Offline

    4am

    Any idea if an API (or documentation about how to hook in properly) is in the works? I know EpicZones does it but I cannot locate any source code for it, and I'm not sure the proper way to go about doing it. I have an idea for an add-on functionality plug-in and wanted to make sure I was doing it right :)
     
  4. Offline

    blindsarcasm


    Ooh. Damn. I typed it wrong. I meant like chat features...would it be possible? it would be nice. Like it says in numbers your hunger.
     
  5. Offline

    majorcyto

    Awe thanks <3 :D
     
  6. Offline

    4am

    You could code an intermediary plugin which hooks into both HeroChat and Gastronomic, but I wonder if such a feature is really beyond the scope of HeroChat (it's a bit specific for HeroChat to do the supporting). EpicZones hooks into HeroChat (if it's present) and can do auto-channel changes based on what zone a player is in. Perhaps Gastronomic should itself hook into HeroChat and add the stats you want?

    I am still going over the source (for my own plugin) but it may be possible to @Override a HeroChat function which sets up the chat line format, scan for Gastronomic-specific variables, replace them with the correct text, then super() the resulting string to HeroChat so it continues processing like normal. Someone better than me at Java (read: just about everyone else with "Plugin Developer" status on this forum:)) would probably have no trouble with it at all.

    I don't use Gastronomic, but I'd ask that author for support. HeroChat is more like a base-system which other plugins should link into, it shouldn't branch out into other plugins (unless they're relevant to HeroChat's goal of chat management, like CraftIRC). This makes support easier for everyone; HeroChat only has to worry about HeroChat, not tons of other plugins; those are the responsibility of their respective authors.
     
  7. Offline

    DThielke

    The API is there, I just never got around to documenting it. I'll try to find some time later to do so or you can find me on IRC in #bukkit or #bukkitdev.
     
  8. Offline

    4am

    Is it just a matter of doing @Override on the functions I want to enhance and then calling super() when I'm done with my part? I was going to do that over the command preprocessing listener, as well as some other functions.

    I'm not entirely up to speed with this aspect of Java. Would that even work?

    EDIT: I wanted to add something like a period at the beginning of the chat text reduces local distance and ending with an exclaimation point increases local distance. So I was thinking I need to trap the event, detect if it's a whisper or shout, and then I'd call HeroChat to do the actual sending of the message with the appropriate distance. The more I think about it, the more this might not be possible without actually having the code in HeroChat itself...
     
  9. Offline

    DThielke

    Right idea. You would want to listen to HeroChat's ChannelChatEvent to see when a message is thrown. Use that event to check whether you're dealing with a LocalChannel. If so, you'd determine what the distance is based on the first character of the message. If there is no special character at the beginning of the message, then let the event pass as normal and do nothing. Otherwise, you'll want to cancel the event and use LocalChannel.setDistance(int distance) to change the distance accordingly. Then you'd call LocalChannel.sendMessage(String playerName, String message) to send a new message at the new distance. After that you'll need to make sure to change the channel's distance back to what it was before so that future messages can behave as normal.
     
  10. Offline

    majorcyto

    So hows the progress of the /msg alternate for /tell >.<
     
  11. Offline

    4am

    Awesome. I am going to do my best to be sure that any plugin I write is as well designed and written; I was thinking my code would have to be much more "hacked and forceful" to get these results, but this seems so easy!
     
    RaCooN likes this.
  12. Offline

    blindsarcasm

    I might try it, but that means I have to hunt in my brain for those long lost programming skills. Thanks for some good info. I'll look into it.
     
  13. Offline

    4am

    This reply should have the info you'd need for a good starting point, except I'd imagine you'd need to do something else with the messages. Still haven't looked into Gastronomic, but hopefully it's coded in a way that you can hook into it.
     
  14. Offline

    DThielke

    Err - it should work just fine. I just forgot to update the thread title.
     
  15. Offline

    Janb

    And a /reply command too, please! With a /r alias!
     
  16. Offline

    Lolmewn

    Every time I reload the Server, the config.yml gets refreshed somehow. All my changes lost..
     
  17. Offline

    Blobinet

    Could you add a command to change prefixes ? like /prefix Blobinet &4[Admin] because we need to go through configuration every time .. ( Or there something I don't know)
    The other plugins to change prefixes does not work while using HeroChat
     
  18. Offline

    4am

    Prefixes are not handled by HeroChat, it only displays them.

    Your prefixes (and suffixes) are handed by your permissions system. Check to see if Permissions allows changing on the fly; This is one of the reasons I use EssentialsGroupManager, it has this feature.
     
  19. Offline

    DThielke

    Take a moment to actually read the OP.
     
  20. Offline

    Swadon

  21. Offline

    Lolmewn

    Ah, thank you. I found out quitting the server and restarting it also works (although your way is better :p)
     
  22. Offline

    jbMurdock

    First of all - great plugin! Well done.

    But I still have a small problem / feature request:
    I really would like to be able to change a player's prefix ingame with a command, just like the Prefixer-Plugin does (http://forums.bukkit.org/threads/ch...refixes-to-users-when-they-chat-740-766.4945/).
    The dev over at Prefixer said that his plugin can be hooked into to work with other plugins.

    It would be much appreciated if you considered this a feature for one of your next updates :)
     
  23. Offline

    4am

    See this post on the subject.
     
  24. Offline

    jbMurdock

    Thanks for the quick reply.
     
  25. Offline

    Kainzo

    thanks for helping out ;)

    What version of HeroChat? / Version of CB

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jul 18, 2016
  26. Offline

    fugue2005

    it's called regex, it can be a bit difficult to understand.
    you can go here http://www.regular-expressions.info/
    to get people started i have included some common simple ones in my profile. (they should show up ok)

    check my player profile information tab

    of course there are ways around most profanity filters but this will quash the less creative types.
     
  27. Offline

    Swadon

    HeroChat 2.7.2 and CB Build #766
     
  28. Offline

    Kainzo

    Update Herochat
     
  29. Offline

    Swadon

    Oh sorry, 2.7.2 is the version of Permissions >< I have the latest version of HeroChat (HeroChat version 4.10.3).
     
  30. Offline

    DThielke

  31. Offline

    Swadon

    Oh Thank You for your answer ! It works again :)
     

Share This Page