@EventHandler(priority = EventPriority.NORMAL)
 public void onPlayerQuit(final PlayerQuitEvent event) {
   if (event.getQuitMessage() == null) {
     return;
   }
   for (final IRCChannel c : Variables.channels) {
     if (!c.getBlockedEvents().contains("game_quit")) {
       IRC.sendMessageToChannel(
           c.getChannel(),
           ColorUtils.formatGametoIRC(event.getPlayer().getDisplayName() + " has quit."));
     }
   }
 }
 @EventHandler(priority = EventPriority.NORMAL)
 public void onPlayerKick(final PlayerKickEvent event) {
   if (event.isCancelled() || event.getLeaveMessage() == null) {
     return;
   }
   for (final IRCChannel c : Variables.channels) {
     if (!c.getBlockedEvents().contains("game_kick")) {
       IRC.sendMessageToChannel(
           c.getChannel(),
           ColorUtils.formatGametoIRC(event.getPlayer().getDisplayName() + " has been kicked."));
     }
   }
 }
 protected static void handleMessage(
     final Player player, final IRCChannel c, final String message) {
   if (player != null) {
     if (MonsterIRC.getHandleManager().getPermissionsHandler().hasNode(player, "irc.nochat")
         && !player.isOp()
         && !MonsterIRC.getHandleManager().getPermissionsHandler().hasNode(player, "*")) {
       player.sendMessage("You are blocked from sending messages to irc!");
       return;
     }
   }
   if (c.getBlockedEvents().contains("game_chat")) {
     return;
   }
   if (player == null) {
     final StringBuffer result2 = new StringBuffer();
     result2.append(
         Variables.ircformat
             .replace("{HCchannelColor}", "&f")
             .replace("{heroChatTag}", "[Console]")
             .replace("{heroChatName}", "[Console]")
             .replace("{prefix}", StringUtils.getPrefix("Console"))
             .replace("{name}", StringUtils.getDisplayName("Console"))
             .replace("{displayName}", StringUtils.getDisplayName("Console"))
             .replace("{suffix}", StringUtils.getSuffix("Console"))
             .replace("{groupPrefix}", StringUtils.getGroupPrefix("Console"))
             .replace("{groupSuffix}", StringUtils.getGroupSuffix("Console"))
             .replace("{message}", message)
             .replace("{mvWorld}", StringUtils.getMvWorldAlias("console"))
             .replace("{mvColor}", StringUtils.getMvWorldColor("console"))
             .replace("{world}", StringUtils.getWorld("Console")));
     Variables.linesToIrc++;
     IRC.sendMessageToChannel(c, ColorUtils.formatGametoIRC(result2.toString()));
     return;
   }
   final StringBuffer result = new StringBuffer();
   if (c.getChatType() == ChatType.MCMMOADMINCHAT) {
     if (Bukkit.getServer().getPluginManager().getPlugin("mcMMO") != null) {
       if (Users.getProfile(player.getName()).getAdminChatMode()) {
         result.append(
             Variables.ircformat
                 .replace("{HCchannelColor}", "")
                 .replace("{heroChatTag}", "")
                 .replace("{prefix}", StringUtils.getPrefix(player.getName()))
                 .replace("{name}", StringUtils.getDisplayName(player.getName()))
                 .replace("{displayName}", StringUtils.getDisplayName(player.getDisplayName()))
                 .replace("{suffix}", StringUtils.getSuffix(player.getName()))
                 .replace("{groupPrefix}", StringUtils.getGroupPrefix(player.getName()))
                 .replace("{groupSuffix}", StringUtils.getGroupSuffix(player.getName()))
                 .replace("{message}", " " + message)
                 .replace("{mvWorld}", StringUtils.getMvWorldAlias(player.getWorld().getName()))
                 .replace("{mvColor}", StringUtils.getMvWorldColor(player.getWorld().getName()))
                 .replace("{world}", StringUtils.getWorld(player.getWorld().getName())));
         Variables.linesToIrc++;
         IRC.sendMessageToChannel(c, ColorUtils.formatGametoIRC(result.toString()));
       }
     }
   } else if (c.getChatType() == ChatType.HEROCHAT) {
     if (Bukkit.getServer().getPluginManager().getPlugin("mcMMO") != null) {
       if (Users.getProfile(player.getName()).getAdminChatMode()) {
         return;
       }
       if (Users.getProfile(player.getName()).getPartyChatMode()) {
         return;
       }
     }
     if (c.getHeroChatChannel() != null) {
       if ((Herochat.getChatterManager().getChatter(player).getActiveChannel()
                   == c.getHeroChatChannel()
               || c.isHeroChatListenChannel(
                   Herochat.getChatterManager()
                       .getChatter(player.getName())
                       .getActiveChannel()
                       .getName()))
           && !Herochat.getChatterManager().getChatter(player.getName()).isMuted()) {
         result.append(
             Variables.ircformat
                 .replace(
                     "{heroChatTag}",
                     Herochat.getChatterManager().getChatter(player).getActiveChannel().getColor()
                         + "["
                         + Herochat.getChatterManager()
                             .getChatter(player)
                             .getActiveChannel()
                             .getNick()
                         + "]"
                         + ColorUtils.NORMAL.getIRCColor()
                         + "")
                 .replace(
                     "{heroChatName}",
                     Herochat.getChatterManager().getChatter(player).getActiveChannel().getColor()
                         + "["
                         + Herochat.getChatterManager()
                             .getChatter(player)
                             .getActiveChannel()
                             .getName()
                         + "]"
                         + ColorUtils.NORMAL.getIRCColor()
                         + "")
                 .replace("{prefix}", StringUtils.getPrefix(player.getName()))
                 .replace("{name}", StringUtils.getDisplayName(player.getName()))
                 .replace("{displayName}", StringUtils.getDisplayName(player.getDisplayName()))
                 .replace("{suffix}", StringUtils.getSuffix(player.getName()))
                 .replace("{groupPrefix}", StringUtils.getGroupPrefix(player.getName()))
                 .replace("{groupSuffix}", StringUtils.getGroupSuffix(player.getName()))
                 .replace(
                     "{HCchannelColor}",
                     Herochat.getChatterManager()
                         .getChatter(player)
                         .getActiveChannel()
                         .getColor()
                         .toString())
                 .replace("{message}", " " + message)
                 .replace("{mvWorld}", StringUtils.getMvWorldAlias(player.getWorld().getName()))
                 .replace("{mvColor}", StringUtils.getMvWorldColor(player.getWorld().getName()))
                 .replace("{world}", StringUtils.getWorld(player.getWorld().getName())));
         Variables.linesToIrc++;
         IRC.sendMessageToChannel(c.getChannel(), ColorUtils.formatGametoIRC(result.toString()));
       }
     } else {
       IRC.log("Invalid herochat channel detected for " + c.getChannel());
     }
   } else if (c.getChatType() == ChatType.GLOBAL) {
     if (Bukkit.getServer().getPluginManager().getPlugin("mcMMO") != null) {
       if (Users.getProfile(player.getName()).getAdminChatMode()) {
         return;
       }
       if (Users.getProfile(player.getName()).getPartyChatMode()) {
         return;
       }
     }
     result.append(
         Variables.ircformat
             .replace("{HCchannelColor}", "&f")
             .replace("{heroChatTag}", "")
             .replace("{heroChatName}", "")
             .replace("{prefix}", StringUtils.getPrefix(player.getName()))
             .replace("{name}", StringUtils.getDisplayName(player.getName()))
             .replace("{displayName}", StringUtils.getDisplayName(player.getDisplayName()))
             .replace("{suffix}", StringUtils.getSuffix(player.getName()))
             .replace("{groupPrefix}", StringUtils.getGroupPrefix(player.getName()))
             .replace("{groupSuffix}", StringUtils.getGroupSuffix(player.getName()))
             .replace("{message}", " " + message)
             .replace("{mvWorld}", StringUtils.getMvWorldAlias(player.getWorld().getName()))
             .replace("{mvColor}", StringUtils.getMvWorldColor(player.getWorld().getName()))
             .replace("{world}", StringUtils.getWorld(player.getWorld().getName())));
     Variables.linesToIrc++;
     IRC.sendMessageToChannel(c, ColorUtils.formatGametoIRC(result.toString()));
   }
 }