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

    TribeOfGaja

    Great, thanks a lot! :)
     
  3. Offline

    mdskizy

    For some reason the permissions mod is all set up properly and so is hero chat. We have plenty of other mods that are working fine, but for some reason it says we don't have the permission to talk in alertsystem. Also the channels.xml and staff.txt did not come with the zip file, where do you get those?
     
  4. Offline

    Kainzo

    There are some strange issues with players using local globally - im unsure how to fix this though. Just know its happened more than once.
     
  5. Offline

    DThielke

    Are you xorcon from IRC? Channels.xml and Staff.txt are outdated configuration files. I've removed them and updated the installation instructions. Make sure the privileged groups listed for the channel in data.yml correspond to the permissions groups you have set up.

    Yeah, there are very occasional issues with local chat. It seems that every now and then, when a player teleports, their location isn't updated correctly and messes with the distance check. For now I don't have any workarounds - I'm just hoping it's an issue eventually fixed in bukkit.
     
  6. Offline

    nichiatu

    is it possible for you to integrate this with ichat?
     
  7. Offline

    DThielke

    It already supports iChat, unless there are new features of iChat that I'm unaware of.
     
  8. Offline

    fffizzz

    any chance of setting it so only certain users can use a channel, i know you can set groups in the config.. how bout users?
     
  9. Offline

    DThielke

    Yes, I plan on adding this in a future update. Stay tuned.
     
  10. Offline

    axebyte

    any chance this will or does support iauction like pluggins, so you can isolate to a certain channel (trade channel) or what now?
     
  11. Offline

    d3x

    Hows CraftIRC integration coming?
     
  12. Offline

    DThielke

    I can create an API for other plugins to use to send messages to specific channels, but this probably won't be implemented for at least two weeks.

    Still waiting for Animosity to finish his API. I've been in contact with him and it looks like it should be done very soon. I know this is what I said earlier, but my hands are tied until the API is released. Sorry :(.
     
  13. Offline

    AledJ

    Can you make this compatible with addons that use titles, e.g. Factions?

    Thanks.
     
  14. Offline

    DThielke

    If a plugin wants to create titles for players, the best way to do is to change the player's display name. If this method is used, then HeroChat (as well as most chat plugins) will reflect such changes. This is, for example, how HeroChat supports player nicknames. This is the only way I'll support titles (outside of Permissions based titles), as adding specialized support for every plugin that might do something like this without changing display names is a waste of effort.

    I'm not sure how Factions' titles work, but if it doesn't use this method, I suggest you take it up with the plugin's author.
     
  15. Offline

    sumTard

    Any chance of password protected channels? Im trying to use this for guild chats, but I'd like to be able to give channel owners the ability to give out a password to join this channel. An even better alternative would be a permissions node for channel owners to be able to add/remove names that can join their channel via ingame commands. Thanks!
     
  16. Offline

    Magik

    craftbukkit build 319

    What build of craftbukkit is this tested against?

    first time ever trying this, tho I'm start to desperately need something like this.

    does this plugin automatically re-direct normal chat to the "Local" chat?

    every chat event outputs this:
    Code:
    Feb 14, 2011 12:05:22 AM org.bukkit.plugin.SimplePluginManager callEvent
    SEVERE: Could not pass event PLAYER_CHAT to HeroChat
    java.lang.NullPointerException
            at com.bukkit.dthielke.herochat.HeroChatPlayerListener.onPlayerChat(HeroChatPlayerListener.java:29)
            at org.bukkit.plugin.java.JavaPluginLoader$6.execute(JavaPluginLoader.java:149)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:60)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:214)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:594)
            at net.minecraft.server.Packet3Chat.a(SourceFile:24)
            at net.minecraft.server.NetworkManager.a(SourceFile:232)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:74)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:104)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:317)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:232)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:512)
    
     
  17. Offline

    DThielke

    It's been tested up to 322 without issues.

    The plugin initially redirects chat to whatever the defaultChannel in the configuration is. Make sure your defaultChannel corresponds to an actual channel. Could you upload your config to pastebin and give me a link?
     
  18. Offline

    odielag

    Thanks for the plugin... I was really hoping for a chat plugin I could stick with... I love the colors.
     
  19. Offline

    Magik

    hrm... here's a diff between my config and yours, I reverted back the default, and it seems to work, i'll slowly tweak from there to see what my issue was:
    Code:
    [minecraft@masse HeroChat]$ diff data.yml data.yml.bak
    32c32
    <         options: {quickMessagable: true, permanent: true, hidden: false, auto: true, local: true, forced: false}
    ---
    >         options: {quickMessagable: true, permanent: true, hidden: false, auto: true, local: true, forced: true}
    58c58
    < defaultChannel: Global
    ---
    > defaultChannel: Global, Local, AlertSystem
    60c60
    < localDistance: 100
    \ No newline at end of file
    ---
    > localDistance: 100
    

    oh I must be high, I set multiple channels as default lol....
     
  20. Offline

    Sapd

    Is it possible to configure it so, that the players need to type " ! the text" for chatting in Global?
     
  21. Offline

    DThielke

    The closest you could get is setting the channel's nickname to ! and turning quickMessagable on. Players will then be able to type "/! message" to speak in this channel.
     
  22. Offline

    Kainzo

    This is tested against 325 and works.
     
  23. Offline

    Magik

    thanks for the great plugin. Just installed this the other night, and I think I will be keeping it. It should really help with server chat spam.

    feature idea/suggestion:

    I installed this plugin just because of the sheer amount of spam that can be generated on global chat. I do want a global chat to be that - global. And my server isn't large enough for me to really think people would want to ever leave global chat. But in my mind, I would rather have global chat always forced on people, but with a mechanic to limit the amount of spam going to global.

    I already have my default chat channel set to Local. But I wish I could make a channel not be possible to be set as "active" with "/ch <channel>". That way people can't do "/ch global" and have all of their chat pushed to the Global chat.

    Maybe there is a way to do this with your plugin/config that I do not understand? If not, then I think this would be a good change. Even forcing people to type /g <msg> ( with the quickmessage ) tends to steer people away from using global chat.

    edit:
    feature/suggestion idea 2:
    There is the kick and ban commands for a channel. I don't typically ever perma-ban someone from a chatroom, if that were the case, they'd probably be perma-banned on the server too. But it'd be nice to have a timed-ban. Or even better, a timed mute.

    Something like:
    /mute <nick> <channel> [time]
    /unmute <nick> <channel>

    where time could be written in seconds, minutes, hours, days like: 5d3h20m11s

    sometimes I just want to mute someone from a chat like global chat for a specified time.



    edit:
    feature/suggestion idea 3

    It'd be nice to have a /me command that worked with this well, though I'm not too sure how that would necessarily work in a clean simple manner. Maybe just have /me route to your "active" chat? Or maybe a new /me <channel> command? Not too sure on this one, but it would be nice to have emotes.
     
  24. Offline

    Hiramas

    Greetings. This plugin is really nice. Good work. But I have a question:
    I just tested your plugin with my already set up iChat configuration in permissions.
    Somehow HeroChat doesn't pick up the suffix. Prefix workes fine (is defined in the group). I changed nothing in HeroChat or in Permissions.
    Any idea what the problem could be? Here is a sample of my Permissions config:
    Code:
    Hiramas:
        group: Konsul
        info: {prefix: null, suffix: '&2'}
        permissions: []
     
  25. Offline

    DThielke

    Big update to meet a few of the many user requests I've seen!

    Please pay special attention to the last change. Configurations are now stored in a different file and under a different format. If you're using the data.yml file from previous versions, it will automatically be converted when you first run the new version of HeroChat. Once the new file is created (config.yml), you can delete the old data.yml file.

    Please test and report back with any issues!

    Thanks guys.

    Changelog:
    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.
    --- merged: Feb 15, 2011 8:12 PM ---
    I'll look into this.
     
  26. Offline

    ToitagL

    I do not understand the "join-message:false" in the new config file. What is it ?

    Also, dumb question maybe, but errr, how do I setup a Default channel for a group ? Tody, visitors can't speak in Global, only on local, but I can't find how to set Local as their speaking channel on connection : I have to tell them to do /ch local to be able to talk. Any way I would have missed to be able to do so ?

    Anyway, thanks very much for your plugin, made our lives on the server Soooo much easy.
     
  27. Offline

    sumTard

    Could you add an in-game command for a channel's owner to be able to add/remove people from his channel's join whitelist?
     
  28. Offline

    DThielke

    The join-message option, if true, broadcasts "NAME has joined/left the channel." when a user joins/leaves the channel.

    Currently you can't set default channels on a group-specific basis; it is a server-wide option. However, you can set the server-wide default to local and then, as of the latest version, other users can simply change focus to something else and when they log out, it will remember whatever they had last selected.

    Channel whitelists consist of groups, not individuals, no at the moment this isn't happening.
     
  29. Offline

    Kainzo

    Keep in mind guys that this plugin - albeit the best chat channel plugin in bmod - will still strive to be as light weight as possible so we dont snap and break with each update. stability - above all is important.
     
  30. Offline

    DThielke

    Curious to know how the automatic config file conversion is working!
     
  31. Offline

    ToitagL

    Err, since the update and the automatic conversion, my players can see the staff chan even if they're not in the join groups....

    Here is my config file :

    Code:
    globals:
        default-local-distance: 75
        default-channel: Global
        default-message-format: '{color.CHANNEL}[{nick}] {color.WHITE}{prefix}{player}{suffix}{color.CHANNEL}: '
    channels:
        Staff:
            color: LIGHT_GREEN
            nickname: x
            permissions:
                speak: []
                join:
                - Admins
                - Moderateur
            message-format: '{default}'
            lists:
                bans: []
                moderators: []
            options:
                permanent: true
                hidden: true
                shortcut-allowed: true
                auto-join: true
                local: false
                join-messages: false
                forced: false
        Local:
            color: YELLOW
            nickname: l
            permissions:
                speak: []
                join: []
            message-format: '{color.WHITE}{prefix}{player}{suffix}{color.CHANNEL}: '
            lists:
                bans: []
                moderators: []
            options:
                permanent: true
                hidden: false
                shortcut-allowed: true
                auto-join: true
                local: false
                join-messages: false
                forced: false
        AlertSystem:
            color: ROSE
            nickname: alert
            permissions:
                speak:
                - Admins
                - Moderateur
                join: []
            message-format: '{color.RED}[ALERT]{color.CHANNEL}: '
            lists:
                bans: []
                moderators: []
            options:
                permanent: true
                hidden: true
                shortcut-allowed: true
                auto-join: true
                local: false
                join-messages: false
                forced: true
        Global:
            color: WHITE
            nickname: g
            permissions:
                speak:
                - Citoyen
                - Entrepreneur
                - Moderateur
                - Admins
                join: []
            message-format: '{default}'
            lists:
                bans: []
                moderators: []
            options:
                permanent: true
                hidden: false
                shortcut-allowed: true
                auto-join: false
                local: false
                join-messages: false
                forced: false
        Aide:
            color: LIGHT_BLUE
            nickname: h
            permissions:
                speak: []
                join: []
            message-format: '{default}'
            lists:
                bans: []
                moderators: []
            options:
                permanent: true
                hidden: false
                shortcut-allowed: true
                auto-join: true
                local: false
                join-messages: false
                forced: false
    
    Just looked at my users.yml file, every single player had joined Staff. Will try to remove manually here.
     

Share This Page