diff --git a/src/main/java/com/cnaude/purpleirc/GameListeners/HeroChatListener.java b/src/main/java/com/cnaude/purpleirc/GameListeners/HeroChatListener.java index 17f4f53..a9bb07d 100644 --- a/src/main/java/com/cnaude/purpleirc/GameListeners/HeroChatListener.java +++ b/src/main/java/com/cnaude/purpleirc/GameListeners/HeroChatListener.java @@ -18,9 +18,11 @@ import com.cnaude.purpleirc.PurpleBot; import com.cnaude.purpleirc.PurpleIRC; +import com.dthielke.api.Channel; import com.dthielke.api.ChatResult; import com.dthielke.api.Chatter; import com.dthielke.api.event.ChannelChatEvent; +import com.dthielke.channel.ConversationChannel; import org.bukkit.ChatColor; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -50,9 +52,18 @@ public HeroChatListener(PurpleIRC plugin) { @EventHandler(ignoreCancelled = true, priority = EventPriority.NORMAL) public void onChannelChatEvent(ChannelChatEvent event) { Chatter chatter = event.getChatter(); + Channel channel = chatter.getActiveChannel(); + if ((channel instanceof ConversationChannel)) { + plugin.logDebug("Ignoring private message: " + chatter.getPrivateMessageFocus() + ":" + event.getMessage()); + return; + } ChatResult result = event.getResult(); plugin.logDebug("HC Format: " + event.getFormat()); plugin.logDebug("HC Result: " + event.getResult()); + if (plugin.heroPrivateChatFormat.equals(event.getFormat())) { + plugin.logDebug("HC Private: TRUE"); + return; + } ChatColor chatColor = event.getChannel().getColor(); Player player = chatter.getPlayer(); diff --git a/src/main/java/com/cnaude/purpleirc/PurpleIRC.java b/src/main/java/com/cnaude/purpleirc/PurpleIRC.java index 63ce4f8..67a7a70 100644 --- a/src/main/java/com/cnaude/purpleirc/PurpleIRC.java +++ b/src/main/java/com/cnaude/purpleirc/PurpleIRC.java @@ -138,6 +138,7 @@ public class PurpleIRC extends JavaPlugin { defaultGroupSuffix, customTabPrefix, heroChatEmoteFormat, + heroPrivateChatFormat, listFormat, listSeparator, listPlayer, @@ -1540,6 +1541,7 @@ private void detectHooks() { logError(ex.getMessage()); } heroChatEmoteFormat = heroConfig.getString("format.emote", ""); + heroPrivateChatFormat = heroConfig.getString("format.private-message"); } else { hookList.add(hookFormat(PL_HEROCHAT, false)); }