Skip to content
This repository has been archived by the owner on Jul 27, 2019. It is now read-only.

Commit

Permalink
Update for 1.8.8.
Browse files Browse the repository at this point in the history
  • Loading branch information
cnaude committed Jul 31, 2015
1 parent 276e259 commit cd5d416
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 19 deletions.
55 changes: 40 additions & 15 deletions src/main/java/com/cnaude/purpleirc/IRCMessageHandler.java
Expand Up @@ -20,8 +20,11 @@
import com.google.common.base.Joiner;
import java.text.Collator;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.bukkit.entity.Player;
import org.pircbotx.Channel;
import org.pircbotx.User;
Expand All @@ -41,7 +44,7 @@ public class IRCMessageHandler {
public IRCMessageHandler(PurpleIRC plugin) {
this.plugin = plugin;
}

private void sendFloodWarning(User user, PurpleBot ircBot) {
String message = plugin.colorConverter.gameColorsToIrc(plugin.getMsgTemplate(
ircBot.botNick, "", TemplateName.IRC_FLOOD_WARNING)
Expand Down Expand Up @@ -98,6 +101,7 @@ public void processMessage(PurpleBot ircBot, User user, Channel channel, String
}

String gc = (String) ircBot.commandMap.get(channelName).get(command).get("game_command");
String gcUsage = (String) ircBot.commandMap.get(channelName).get(command).get("game_command_usage");
List<String> extraCommands = ircBot.extraCommandMap.get(channelName).get(command);
List<String> gameCommands = new ArrayList<>();
gameCommands.add(gc);
Expand All @@ -115,6 +119,7 @@ public void processMessage(PurpleBot ircBot, User user, Channel channel, String
plugin.logDebug("Target: " + target);

if (isValidMode(modes, user, channel) && checkPerm(perm, user.getNick())) {
gc_loop:
for (String gameCommand : gameCommands) {
switch (gameCommand) {
case "@list":
Expand Down Expand Up @@ -184,29 +189,49 @@ public void processMessage(PurpleBot ircBot, User user, Channel channel, String
if (commandArgs == null) {
commandArgs = "";
}

if (gameCommand.contains("%ARGS%")) {
gameCommand = gameCommand.replace("%ARGS%", commandArgs);
}


if (gameCommand.contains("%NAME%")) {
gameCommand = gameCommand.replace("%NAME%", user.getNick());
}

if (gameCommand.matches(".*%ARG\\d+%.*")) {
String commandArgsArray[] = commandArgs.split(" ");
for (int i = 0; i < commandArgsArray.length; i++) {
gameCommand = gameCommand.replace("%ARG" + (i + 1) + "%", commandArgsArray[i]);
}
gameCommand = gameCommand.replaceAll("%ARG\\d+%", "");
}

if (gameCommand.contains("%NAME%")) {
gameCommand = gameCommand.replace("%NAME%", user.getNick());
}
plugin.logDebug("GM: \"" + gameCommand.trim() + "\"");
try {
plugin.commandQueue.add(new IRCCommand(
new IRCCommandSender(ircBot, target, plugin, ctcpResponse, senderName),
//new IRCConsoleCommandSender(ircBot, target, plugin, ctcpResponse, senderName),
gameCommand.trim()));
} catch (Exception ex) {
plugin.logError(ex.getMessage());

Pattern pattern = Pattern.compile(".*%ARG(\\d+)\\+%.*");
Matcher matcher = pattern.matcher(gameCommand);
if (matcher.matches()) {
String commandArgsArray[] = commandArgs.split(" ");
int startPos = Integer.valueOf(matcher.group(1));
if (commandArgsArray.length >= startPos) {
gameCommand = gameCommand.replace("%ARG" + startPos + "+%",
Joiner.on(" ").join(Arrays.copyOfRange(commandArgsArray, startPos - 1, commandArgsArray.length)));
}
}

if (gameCommand.matches(".*%ARG\\d+%.*")
|| gameCommand.matches(".*%ARG(\\d+)\\+%.*")
|| gameCommand.contains("%ARGS%")) {
plugin.logDebug("GM BAIL: \"" + gameCommand.trim() + "\"");
ircBot.asyncIRCMessage(target, gcUsage);
break gc_loop;
} else {
plugin.logDebug("GM: \"" + gameCommand.trim() + "\"");
try {
plugin.commandQueue.add(new IRCCommand(
new IRCCommandSender(ircBot, target, plugin, ctcpResponse, senderName),
//new IRCConsoleCommandSender(ircBot, target, plugin, ctcpResponse, senderName),
gameCommand.trim()));
} catch (Exception ex) {
plugin.logError(ex.getMessage());
}
}
break;
}
Expand Down
Expand Up @@ -30,7 +30,7 @@
*
* @author cnaude
*/
public class NetPacket_184_185_186_197 {
public class NetPacket_184_185_186_187_188 {

public static PacketContainer add(String displayName) {
UUID uuid = UUID.nameUUIDFromBytes(("OfflinePlayer:" + displayName).getBytes(Charsets.UTF_8));
Expand Down
7 changes: 4 additions & 3 deletions src/main/java/com/cnaude/purpleirc/Utilities/NetPackets.java
Expand Up @@ -139,13 +139,14 @@ private PacketContainer tabPacket(String name, boolean add) {
} else if (version.contains("MC: 1.8.4")
|| version.contains("MC: 1.8.5")
|| version.contains("MC: 1.8.6")
|| version.contains("MC: 1.8.7")) {
|| version.contains("MC: 1.8.7")
|| version.contains("MC: 1.8.8")) {
try {
if (add) {
return NetPacket_184_185_186_197.add(displayName);
return NetPacket_184_185_186_187_188.add(displayName);
} else {
plugin.logDebug("T: Removing: " + name);
return NetPacket_184_185_186_197.rem(displayName);
return NetPacket_184_185_186_187_188.rem(displayName);
}
} catch (Exception ex) {
plugin.logError("tabPacket: " + ex.getMessage());
Expand Down

0 comments on commit cd5d416

Please sign in to comment.