diff --git a/src/main/java/com/cnaude/purpleirc/PurpleBot.java b/src/main/java/com/cnaude/purpleirc/PurpleBot.java index fe31409..ab53870 100644 --- a/src/main/java/com/cnaude/purpleirc/PurpleBot.java +++ b/src/main/java/com/cnaude/purpleirc/PurpleBot.java @@ -855,7 +855,7 @@ public void gameChat(Player player, String message) { } else { plugin.logDebug("No Factions"); } - if (isMessageEnabled(channelName,TemplateName.GAME_CHAT)) { + if (isMessageEnabled(channelName, TemplateName.GAME_CHAT)) { plugin.logDebug("[" + TemplateName.GAME_CHAT + "] => " + channelName + " => " + message); asyncIRCMessage(channelName, plugin.tokenizer @@ -877,7 +877,7 @@ public void gameChat(Player player, String message) { public void heroChat(Chatter chatter, ChatColor chatColor, String message) { if (!this.isConnected()) { return; - } + } Player player = chatter.getPlayer(); for (String channelName : botChannels) { if (!isPlayerInValidWorld(player, channelName)) { @@ -887,8 +887,8 @@ public void heroChat(Chatter chatter, ChatColor chatColor, String message) { String hNick = chatter.getActiveChannel().getNick(); String hColor = chatColor.toString(); plugin.logDebug("HC Channel: " + hChannel); - if (isMessageEnabled(channelName,"hero-" + hChannel + "-chat") - || isMessageEnabled(channelName,TemplateName.HERO_CHAT)) { + if (isMessageEnabled(channelName, "hero-" + hChannel + "-chat") + || isMessageEnabled(channelName, TemplateName.HERO_CHAT)) { asyncIRCMessage(channelName, plugin.tokenizer .chatHeroTokenizer(player, message, hColor, hChannel, hNick, plugin.getHeroChatChannelTemplate(botNick, hChannel))); @@ -907,7 +907,7 @@ public void mcMMOAdminChat(Player player, String message) { if (!isPlayerInValidWorld(player, channelName)) { continue; } - if (isMessageEnabled(channelName,TemplateName.MCMMO_ADMIN_CHAT)) { + if (isMessageEnabled(channelName, TemplateName.MCMMO_ADMIN_CHAT)) { plugin.logDebug("Sending message because " + TemplateName.MCMMO_ADMIN_CHAT + " is enabled."); asyncIRCMessage(channelName, plugin.tokenizer .gameChatToIRCTokenizer(player, plugin.getMsgTemplate( @@ -927,7 +927,7 @@ public void mcMMOPartyChat(Player player, String partyName, String message) { if (!isPlayerInValidWorld(player, channelName)) { continue; } - if (isMessageEnabled(channelName,TemplateName.MCMMO_PARTY_CHAT)) { + if (isMessageEnabled(channelName, TemplateName.MCMMO_PARTY_CHAT)) { plugin.logDebug("Sending message because " + TemplateName.MCMMO_PARTY_CHAT + " is enabled."); asyncIRCMessage(channelName, plugin.tokenizer .mcMMOChatToIRCTokenizer(player, plugin.getMsgTemplate( @@ -947,7 +947,7 @@ public void mcMMOChat(Player player, String message) { if (!isPlayerInValidWorld(player, channelName)) { continue; } - if (isMessageEnabled(channelName,TemplateName.MCMMO_CHAT)) { + if (isMessageEnabled(channelName, TemplateName.MCMMO_CHAT)) { plugin.logDebug("Sending message because " + TemplateName.MCMMO_CHAT + " is enabled."); asyncIRCMessage(channelName, plugin.tokenizer .gameChatToIRCTokenizer(player, plugin.getMsgTemplate( @@ -972,10 +972,10 @@ public void townyChat(Player player, com.palmergames.bukkit.TownyChat.channels.C + townyChannel.getName() + "-chat" + " or " + "towny-" + townyChannel.getChannelTag() + "-chat" + " or towny-chat"); - if (isMessageEnabled(channelName,"towny-" + townyChannel.getName() + "-chat") - || isMessageEnabled(channelName,"towny-" + townyChannel.getChannelTag() + "-chat") - || isMessageEnabled(channelName,"towny-chat") - || isMessageEnabled(channelName,"towny-channel-chat")) { + if (isMessageEnabled(channelName, "towny-" + townyChannel.getName() + "-chat") + || isMessageEnabled(channelName, "towny-" + townyChannel.getChannelTag() + "-chat") + || isMessageEnabled(channelName, "towny-chat") + || isMessageEnabled(channelName, "towny-channel-chat")) { asyncIRCMessage(channelName, plugin.tokenizer .chatTownyChannelTokenizer(player, townyChannel, message, plugin.getMsgTemplate(botNick, "towny-channel-chat"))); @@ -997,8 +997,8 @@ public void heroAction(Chatter chatter, ChatColor chatColor, String message) { String hNick = chatter.getActiveChannel().getNick(); String hColor = chatColor.toString(); plugin.logDebug("HC Channel: " + hChannel); - if (isMessageEnabled(channelName,"hero-" + hChannel + "-action") - || isMessageEnabled(channelName,"hero-action")) { + if (isMessageEnabled(channelName, "hero-" + hChannel + "-action") + || isMessageEnabled(channelName, "hero-action")) { asyncIRCMessage(channelName, plugin.tokenizer .chatHeroTokenizer(player, message, hColor, hChannel, hNick, plugin.getHeroActionChannelTemplate(botNick, hChannel))); @@ -1027,8 +1027,8 @@ public void titanChat(Participant participant, String tChannel, String tColor, S continue; } plugin.logDebug("TC Channel: " + tChannel); - if (isMessageEnabled(channelName,"titan-" + tChannel + "-chat") - || isMessageEnabled(channelName,"titan-chat")) { + if (isMessageEnabled(channelName, "titan-" + tChannel + "-chat") + || isMessageEnabled(channelName, "titan-chat")) { asyncIRCMessage(channelName, plugin.tokenizer .titanChatTokenizer(player, tChannel, tColor, message, plugin.getMsgTemplate(botNick, "titan-chat"))); @@ -1068,7 +1068,7 @@ public void cleverChat(String cleverBotName, String message) { return; } for (String channelName : botChannels) { - if (isMessageEnabled(channelName,"clever-chat")) { + if (isMessageEnabled(channelName, "clever-chat")) { asyncIRCMessage(channelName, plugin.tokenizer .gameChatToIRCTokenizer(cleverBotName, plugin.getMsgTemplate(botNick, "clever-send"), message)); } @@ -1089,7 +1089,7 @@ public void reportRTSNotify(String pName, HelpRequest request, return; } for (String channelName : botChannels) { - if (isMessageEnabled(channelName,messageType)) { + if (isMessageEnabled(channelName, messageType)) { asyncIRCMessage(channelName, plugin.tokenizer .reportRTSTokenizer(pName, plugin.getMsgTemplate(botNick, messageType), request)); } @@ -1101,7 +1101,7 @@ public void reportRTSNotify(CommandSender sender, String message, String botNick return; } for (String channelName : botChannels) { - if (isMessageEnabled(channelName,messageType)) { + if (isMessageEnabled(channelName, messageType)) { asyncIRCMessage(channelName, plugin.tokenizer .reportRTSTokenizer(sender, message, plugin.getMsgTemplate(botNick, messageType))); } @@ -1133,7 +1133,7 @@ public void consoleChat(String message) { return; } for (String channelName : botChannels) { - if (isMessageEnabled(channelName,TemplateName.CONSOLE_CHAT)) { + if (isMessageEnabled(channelName, TemplateName.CONSOLE_CHAT)) { asyncIRCMessage(channelName, plugin.tokenizer .gameChatToIRCTokenizer(plugin.getMsgTemplate(botNick, TemplateName.CONSOLE_CHAT), ChatColor.translateAlternateColorCodes('&', message))); @@ -1151,7 +1151,7 @@ public void gameBroadcast(Player player, String message) { return; } for (String channelName : botChannels) { - if (isMessageEnabled(channelName,TemplateName.BROADCAST_MESSAGE)) { + if (isMessageEnabled(channelName, TemplateName.BROADCAST_MESSAGE)) { asyncIRCMessage(channelName, plugin.tokenizer .gameChatToIRCTokenizer(player, plugin .getMsgTemplate(botNick, TemplateName.BROADCAST_MESSAGE), @@ -1159,7 +1159,7 @@ public void gameBroadcast(Player player, String message) { } } } - + /** * * @param player @@ -1169,13 +1169,13 @@ public void essHelpOp(Player player, String message) { if (!this.isConnected()) { return; } - for (String channelName : botChannels) { - if (isMessageEnabled(channelName,TemplateName.ESS_HELPOP)) { + for (String channelName : botChannels) { + if (isMessageEnabled(channelName, TemplateName.ESS_HELPOP)) { asyncIRCMessage(channelName, plugin.tokenizer .gameChatToIRCTokenizer(player, plugin .getMsgTemplate(botNick, TemplateName.ESS_HELPOP), ChatColor.translateAlternateColorCodes('&', message))); - } + } } } @@ -1189,7 +1189,7 @@ public void gameOreBroadcast(Player player, String message) { return; } for (String channelName : botChannels) { - if (isMessageEnabled(channelName,TemplateName.ORE_BROADCAST)) { + if (isMessageEnabled(channelName, TemplateName.ORE_BROADCAST)) { asyncIRCMessage(channelName, plugin.tokenizer .gameChatToIRCTokenizer(player, plugin.getMsgTemplate(botNick, TemplateName.ORE_BROADCAST), ChatColor.translateAlternateColorCodes('&', message))); } @@ -1207,7 +1207,7 @@ public void dynmapWebChat(String source, String name, String message) { return; } for (String channelName : botChannels) { - if (isMessageEnabled(channelName,TemplateName.DYNMAP_WEB_CHAT)) { + if (isMessageEnabled(channelName, TemplateName.DYNMAP_WEB_CHAT)) { asyncIRCMessage(channelName, plugin.tokenizer .dynmapWebChatToIRCTokenizer(source, name, plugin.getMsgTemplate( botNick, TemplateName.DYNMAP_WEB_CHAT), @@ -1225,7 +1225,7 @@ public void consoleBroadcast(String message) { return; } for (String channelName : botChannels) { - if (isMessageEnabled(channelName,TemplateName.BROADCAST_CONSOLE_MESSAGE)) { + if (isMessageEnabled(channelName, TemplateName.BROADCAST_CONSOLE_MESSAGE)) { asyncIRCMessage(channelName, plugin.tokenizer .gameChatToIRCTokenizer(plugin.getMsgTemplate(botNick, TemplateName.BROADCAST_CONSOLE_MESSAGE), ChatColor.translateAlternateColorCodes('&', message))); @@ -1243,7 +1243,7 @@ public void gameJoin(Player player, String message) { return; } for (String channelName : botChannels) { - if (isMessageEnabled(channelName,TemplateName.GAME_JOIN)) { + if (isMessageEnabled(channelName, TemplateName.GAME_JOIN)) { if (!isPlayerInValidWorld(player, channelName)) { return; } @@ -1276,7 +1276,7 @@ public void gameQuit(Player player, String message) { return; } for (String channelName : botChannels) { - if (isMessageEnabled(channelName,TemplateName.GAME_QUIT)) { + if (isMessageEnabled(channelName, TemplateName.GAME_QUIT)) { if (!isPlayerInValidWorld(player, channelName)) { return; } @@ -1307,7 +1307,7 @@ public void gameAchievement(Player player, Achievement achievement) { } String message = achievement.toString(); for (String channelName : botChannels) { - if (isMessageEnabled(channelName,TemplateName.GAME_ACHIEVEMENT)) { + if (isMessageEnabled(channelName, TemplateName.GAME_ACHIEVEMENT)) { if (!isPlayerInValidWorld(player, channelName)) { return; } @@ -1317,7 +1317,7 @@ public void gameAchievement(Player player, Achievement achievement) { } } } - + /** * * @param player @@ -1329,7 +1329,7 @@ public void gameModeChange(Player player, GameMode gameMode) { } String message = gameMode.toString(); for (String channelName : botChannels) { - if (isMessageEnabled(channelName,TemplateName.GAME_MODE)) { + if (isMessageEnabled(channelName, TemplateName.GAME_MODE)) { if (!isPlayerInValidWorld(player, channelName)) { return; } @@ -1351,7 +1351,7 @@ public void gameKick(Player player, String message, String reason) { return; } for (String channelName : botChannels) { - if (isMessageEnabled(channelName,TemplateName.GAME_KICK)) { + if (isMessageEnabled(channelName, TemplateName.GAME_KICK)) { if (!isPlayerInValidWorld(player, channelName)) { return; } @@ -1372,7 +1372,7 @@ public void gameAction(Player player, String message) { return; } for (String channelName : botChannels) { - if (isMessageEnabled(channelName,TemplateName.GAME_ACTION)) { + if (isMessageEnabled(channelName, TemplateName.GAME_ACTION)) { if (!isPlayerInValidWorld(player, channelName)) { return; } @@ -1394,7 +1394,7 @@ public void gameDeath(Player player, String message, String templateName) { return; } for (String channelName : botChannels) { - if (isMessageEnabled(channelName,templateName)) { + if (isMessageEnabled(channelName, templateName)) { if (!isPlayerInValidWorld(player, channelName)) { return; } @@ -1993,12 +1993,12 @@ public void opIrcUser(Channel channel, User user) { plugin.logInfo("User " + user.getNick() + " is already an operator on " + channelName); return; } - for (String userMask : opsList.get(channelName)) { + for (String userMask : opsList.get(channelName)) { if (checkUserMask(user, userMask)) { plugin.logInfo("Giving operator status to " + user.getNick() + " on " + channelName); channel.send().op(user); break; - } + } } } @@ -2016,12 +2016,12 @@ public void voiceIrcUser(Channel channel, User user) { plugin.logInfo("User " + user.getNick() + " is already a voice on " + channelName); return; } - for (String userMask : voicesList.get(channelName)) { + for (String userMask : voicesList.get(channelName)) { if (checkUserMask(user, userMask)) { plugin.logInfo("Giving voice status to " + user.getNick() + " on " + channelName); channel.send().voice(user); break; - } + } } } @@ -2128,6 +2128,22 @@ public void broadcastChat(User user, org.pircbotx.Channel channel, String messag plugin.logDebug("NOPE we can't broadcast to HeroChat due to " + TemplateName.IRC_HERO_CHAT + " disabled"); } + if (plugin.isPluginEnabled("Essentials")) { + plugin.logDebug("Checking if " + TemplateName.IRC_ESS_HELPOP + + " is enabled before broadcasting chat from IRC"); + if (enabledMessages.get(myChannel).contains(TemplateName.IRC_ESS_HELPOP) || override) { + plugin.logDebug("Yup we can broadcast due to " + TemplateName.IRC_ESS_HELPOP + " enabled"); + String newMessage = filterMessage( + plugin.tokenizer.ircChatToGameTokenizer(this, user, channel, plugin.getMsgTemplate( + botNick, TemplateName.IRC_ESS_HELPOP), message), myChannel); + if (!newMessage.isEmpty()) { + plugin.getServer().broadcast(newMessage, "essentials.helpop.receive"); + } + } else { + plugin.logDebug("NOPE we can't broadcast due to " + TemplateName.IRC_ESS_HELPOP + + " disabled"); + } + } } // Broadcast chat messages from IRC to specific hero channel @@ -2310,7 +2326,7 @@ public boolean isConnectedBlocking() { * @param channel */ public void broadcastIRCMode(User user, String mode, org.pircbotx.Channel channel) { - if (isMessageEnabled(channel,TemplateName.IRC_MODE)) { + if (isMessageEnabled(channel, TemplateName.IRC_MODE)) { plugin.getServer().broadcast(plugin.tokenizer.ircModeTokenizer(this, user, mode, channel, plugin.getMsgTemplate(botNick, TemplateName.IRC_MODE)), "irc.message.mode"); @@ -2325,7 +2341,7 @@ public void broadcastIRCMode(User user, String mode, org.pircbotx.Channel channe * @param channel */ public void broadcastIRCNotice(User user, String message, String notice, org.pircbotx.Channel channel) { - if (isMessageEnabled(channel,TemplateName.IRC_NOTICE)) { + if (isMessageEnabled(channel, TemplateName.IRC_NOTICE)) { plugin.getServer().broadcast(plugin.tokenizer.ircNoticeTokenizer(this, user, message, notice, channel, plugin.getMsgTemplate(botNick, TemplateName.IRC_NOTICE)), "irc.message.notice"); @@ -2338,7 +2354,7 @@ public void broadcastIRCNotice(User user, String message, String notice, org.pir * @param channel */ public void broadcastIRCJoin(User user, org.pircbotx.Channel channel) { - if (isMessageEnabled(channel,TemplateName.IRC_JOIN)) { + if (isMessageEnabled(channel, TemplateName.IRC_JOIN)) { plugin.logDebug("[broadcastIRCJoin] Broadcasting join message because " + TemplateName.IRC_JOIN + " is true."); plugin.getServer().broadcast(plugin.tokenizer.chatIRCTokenizer( @@ -2347,7 +2363,7 @@ public void broadcastIRCJoin(User user, org.pircbotx.Channel channel) { plugin.logDebug("[broadcastIRCJoin] NOT broadcasting join message because irc-join is false."); } - if (isMessageEnabled(channel,TemplateName.IRC_HERO_JOIN)) { + if (isMessageEnabled(channel, TemplateName.IRC_HERO_JOIN)) { Herochat.getChannelManager().getChannel(heroChannel.get(channel.getName())) .sendRawMessage(plugin.tokenizer.ircChatToHeroChatTokenizer( this, user, channel, plugin.getMsgTemplate(botNick, @@ -2357,19 +2373,19 @@ public void broadcastIRCJoin(User user, org.pircbotx.Channel channel) { } } - public void broadcastIRCPart(User user, org.pircbotx.Channel channel) { - if (isMessageEnabled(channel,TemplateName.IRC_PART)) { + public void broadcastIRCPart(User user, org.pircbotx.Channel channel) { + if (isMessageEnabled(channel, TemplateName.IRC_PART)) { String message = plugin.tokenizer.chatIRCTokenizer( - this, user, channel, plugin.getMsgTemplate(botNick, TemplateName.IRC_PART)); + this, user, channel, plugin.getMsgTemplate(botNick, TemplateName.IRC_PART)); plugin.logDebug("[broadcastIRCPart] Broadcasting part message because " - + TemplateName.IRC_PART + " is true: " + message); - plugin.getServer().broadcast(message, "irc.message.part"); + + TemplateName.IRC_PART + " is true: " + message); + plugin.getServer().broadcast(message, "irc.message.part"); } else { plugin.logDebug("[broadcastIRCPart] NOT broadcasting part message because " + TemplateName.IRC_PART + " is false."); - } + } - if (isMessageEnabled(channel,TemplateName.IRC_HERO_PART)) { + if (isMessageEnabled(channel, TemplateName.IRC_HERO_PART)) { Herochat.getChannelManager().getChannel(heroChannel.get(channel.getName())) .sendRawMessage(plugin.tokenizer.ircChatToHeroChatTokenizer( this, user, channel, plugin.getMsgTemplate( @@ -2380,7 +2396,7 @@ public void broadcastIRCPart(User user, org.pircbotx.Channel channel) { } public void broadcastIRCQuit(User user, org.pircbotx.Channel channel, String reason) { - if (isMessageEnabled(channel,TemplateName.IRC_QUIT)) { + if (isMessageEnabled(channel, TemplateName.IRC_QUIT)) { plugin.logDebug("[broadcastIRCQuit] Broadcasting quit message because " + TemplateName.IRC_QUIT + " is true."); plugin.getServer().broadcast(plugin.tokenizer.chatIRCTokenizer( @@ -2391,7 +2407,7 @@ public void broadcastIRCQuit(User user, org.pircbotx.Channel channel, String rea + TemplateName.IRC_QUIT + " is false."); } - if (isMessageEnabled(channel,TemplateName.IRC_HERO_QUIT)) { + if (isMessageEnabled(channel, TemplateName.IRC_HERO_QUIT)) { Herochat.getChannelManager().getChannel(heroChannel.get(channel.getName())) .sendRawMessage(plugin.tokenizer.ircChatToHeroChatTokenizer( this, user, channel, plugin.getMsgTemplate( @@ -2410,12 +2426,12 @@ public void broadcastIRCQuit(User user, org.pircbotx.Channel channel, String rea * @param message */ public void broadcastIRCTopic(User user, org.pircbotx.Channel channel, String message) { - if (isMessageEnabled(channel,TemplateName.IRC_TOPIC)) { + if (isMessageEnabled(channel, TemplateName.IRC_TOPIC)) { plugin.getServer().broadcast(plugin.tokenizer.chatIRCTokenizer( this, user, channel, plugin.getMsgTemplate(botNick, TemplateName.IRC_TOPIC)), "irc.message.topic"); } - if (isMessageEnabled(channel,TemplateName.IRC_HERO_TOPIC)) { + if (isMessageEnabled(channel, TemplateName.IRC_HERO_TOPIC)) { Herochat.getChannelManager().getChannel(heroChannel.get(channel.getName())) .sendRawMessage(plugin.tokenizer.ircChatToHeroChatTokenizer( this, user, channel, plugin.getMsgTemplate(botNick, TemplateName.IRC_HERO_TOPIC), message, @@ -2423,7 +2439,7 @@ public void broadcastIRCTopic(User user, org.pircbotx.Channel channel, String me heroChannel.get(channel.getName()))); } } - + /** * * @param channelName @@ -2433,7 +2449,7 @@ public void broadcastIRCTopic(User user, org.pircbotx.Channel channel, String me public boolean isMessageEnabled(String channelName, String templateName) { return enabledMessages.get(channelName).contains(templateName); } - + /** * * @param channel @@ -2441,7 +2457,7 @@ public boolean isMessageEnabled(String channelName, String templateName) { * @return */ public boolean isMessageEnabled(Channel channel, String templateName) { - return isMessageEnabled(channel.getName(),templateName); + return isMessageEnabled(channel.getName(), templateName); } /** @@ -2497,7 +2513,7 @@ public void essentialsAFK(Player player, boolean afk) { return; } for (String channelName : botChannels) { - if (isMessageEnabled(channelName,TemplateName.GAME_AFK)) { + if (isMessageEnabled(channelName, TemplateName.GAME_AFK)) { if (!isPlayerInValidWorld(player, channelName)) { return; } diff --git a/src/main/java/com/cnaude/purpleirc/TemplateName.java b/src/main/java/com/cnaude/purpleirc/TemplateName.java index fde9460..972e3a2 100644 --- a/src/main/java/com/cnaude/purpleirc/TemplateName.java +++ b/src/main/java/com/cnaude/purpleirc/TemplateName.java @@ -37,7 +37,8 @@ public class TemplateName { public final static String IRC_HERO_JOIN = "irc-hero-join"; public final static String IRC_HERO_PART = "irc-hero-part"; public final static String IRC_HERO_QUIT = "irc-hero-quit"; - public final static String IRC_HERO_TOPIC = "irc-hero-topic"; + public final static String IRC_HERO_TOPIC = "irc-hero-topic"; + public final static String IRC_ESS_HELPOP = "irc-ess-helpop"; public final static String IRC_HERO_CHANNELS = "irc-hero-channels"; public final static String HERO_CHANNELS = "hero-channels"; diff --git a/src/main/java/com/cnaude/purpleirc/Utilities/IRCMessageHandler.java b/src/main/java/com/cnaude/purpleirc/Utilities/IRCMessageHandler.java index 22b5174..a17363d 100644 --- a/src/main/java/com/cnaude/purpleirc/Utilities/IRCMessageHandler.java +++ b/src/main/java/com/cnaude/purpleirc/Utilities/IRCMessageHandler.java @@ -112,43 +112,51 @@ public void processMessage(PurpleBot ircBot, User user, Channel channel, String } if (modeOkay && permOkay) { - if (gameCommand.equals("@list")) { - sendMessage(ircBot, target, plugin.getMCPlayers(ircBot, myChannel), ctcpResponse); - } else if (gameCommand.equals("@uptime")) { - sendMessage(ircBot, target, plugin.getMCUptime(), ctcpResponse); - } else if (gameCommand.equals("@help")) { - sendMessage(ircBot, target, getCommands(ircBot.commandMap, myChannel), ctcpResponse); - } else if (gameCommand.equals("@chat")) { - ircBot.broadcastChat(user, channel, commandArgs, false); - } else if (gameCommand.equals("@ochat")) { - ircBot.broadcastChat(user, channel, commandArgs, true); - } else if (gameCommand.equals("@hchat")) { - ircBot.broadcastHeroChat(user, channel, target, commandArgs); - } else if (gameCommand.equals("@motd")) { - sendMessage(ircBot, target, plugin.getServerMotd(), ctcpResponse); - } else if (gameCommand.equals("@msg")) { - ircBot.playerChat(user, channel, target, commandArgs); - } else if (gameCommand.equals("@clearqueue")) { - sendMessage(ircBot, target, plugin.commandQueue.clearQueue(), ctcpResponse); - sendMessage(ircBot, target, ircBot.messageQueue.clearQueue(), ctcpResponse); - } else if (gameCommand.equals("@query")) { - sendMessage(ircBot, target, plugin.getRemotePlayers(commandArgs), ctcpResponse); - } else { - if (commandArgs == null) { - commandArgs = ""; - } - if (gameCommand.contains("%ARGS%")) { + switch (gameCommand) { + case "@list": + sendMessage(ircBot, target, plugin.getMCPlayers(ircBot, myChannel), ctcpResponse); + break; + case "@uptime": + sendMessage(ircBot, target, plugin.getMCUptime(), ctcpResponse); + break; + case "@help": + sendMessage(ircBot, target, getCommands(ircBot.commandMap, myChannel), ctcpResponse); + break; + case "@chat": + ircBot.broadcastChat(user, channel, commandArgs, false); + break; + case "@ochat": + ircBot.broadcastChat(user, channel, commandArgs, true); + break; + case "@hchat": + ircBot.broadcastHeroChat(user, channel, target, commandArgs); + break; + case "@motd": + sendMessage(ircBot, target, plugin.getServerMotd(), ctcpResponse); + break; + case "@msg": + ircBot.playerChat(user, channel, target, commandArgs); + break; + case "@clearqueue": + sendMessage(ircBot, target, plugin.commandQueue.clearQueue(), ctcpResponse); + sendMessage(ircBot, target, ircBot.messageQueue.clearQueue(), ctcpResponse); + break; + case "@query": + sendMessage(ircBot, target, plugin.getRemotePlayers(commandArgs), ctcpResponse); + break; + default: + if (commandArgs == null) { + commandArgs = ""; + } if (gameCommand.contains("%ARGS%")) { gameCommand = gameCommand.replace("%ARGS%", commandArgs); - } - if (gameCommand.contains("%NAME%")) { + } if (gameCommand.contains("%NAME%")) { gameCommand = gameCommand.replace("%NAME%", user.getNick()); - } - plugin.logDebug("GM: \"" + gameCommand.trim() + "\""); + } plugin.logDebug("GM: \"" + gameCommand.trim() + "\""); try { plugin.commandQueue.add(new IRCCommand(new IRCCommandSender(ircBot, target, plugin, ctcpResponse), gameCommand.trim())); } catch (Exception ex) { plugin.logError(ex.getMessage()); - } + } break; } } else { plugin.logDebug("User '" + user.getNick() + "' mode not okay."); @@ -200,7 +208,7 @@ private void sendMessage(PurpleBot ircBot, String target, String message, boolea private String getCommands(CaseInsensitiveMap>> commandMap, String myChannel) { if (commandMap.containsKey(myChannel)) { - List sortedCommands = new ArrayList(); + List sortedCommands = new ArrayList<>(); for (String command : commandMap.get(myChannel).keySet()) { sortedCommands.add(command); } diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index af59fdd..b2b0114 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -62,6 +62,7 @@ message-format: ess-player-afk: '[&2%WORLD%&r] %NAME% is now AFK' ess-player-not-afk: '[&2%WORLD%&r] %NAME% is no longer AFK' ess-helpop: '&4[HelpOp] %DISPLAYNAME%&r: %MESSAGE%' + irc-ess-helpop: '&4[HelpOp] %DISPLAYNAME%&r: %MESSAGE%' # Message templates for IRC to game messages irc-action: '[&4IRC&r] ***%NAME% %MESSAGE%' irc-chat: '[&4IRC]<%NAME%> %MESSAGE%'