diff --git a/vMinecraftChat.java b/vMinecraftChat.java index 9fc79c175..c3721001c 100644 --- a/vMinecraftChat.java +++ b/vMinecraftChat.java @@ -32,6 +32,7 @@ public class vMinecraftChat { //===================================================================== public static void sendMessage(Player sender, Player receiver, String msg){ String[] message = applyColors(wordWrap(msg)); + if for(String out : message) receiver.sendMessage(out + " "); } @@ -283,6 +284,12 @@ public class vMinecraftChat { case 'F': color = Colors.White; break; + case 'R': + color = "~"; + break; + case 'r': + color = "~"; + break; default: color = null; break; @@ -401,10 +408,11 @@ public class vMinecraftChat { } return false; } - //===================================================================== + + //===================================================================== //Function: emote //Input: Player player: The player talking - // String message: The message to apply the effect to + // String message: The message to apply the effect to //Output: boolean: If this feature is enabled //Use: /me but with our custom colors applied //===================================================================== diff --git a/vMinecraftUsers.java b/vMinecraftUsers.java index 029d8205c..8a591e516 100644 --- a/vMinecraftUsers.java +++ b/vMinecraftUsers.java @@ -10,8 +10,10 @@ public class vMinecraftUsers { String file = "vminecraftusers.txt"; private PropertiesFile properties; String location = "vminecraftusers.txt"; - private String[] ignoreList = new String[]{""}; //For datafiles - private String[] aliasList = new String[]{""}; //For datafiles + + ArrayList players = new ArrayList(); + + public void loadUsers(){ File theDir = new File("vminecraftusers.txt"); if(!theDir.exists()){ @@ -158,6 +160,7 @@ class PlayerList //===================================================================== class PlayerProfile { + protected final Logger log = Logger.getLogger("Minecraft"); private Player playerName; private String nickName; private String tag; @@ -180,39 +183,58 @@ class PlayerList { //Declare things ignoreList = new ArrayList(); - aliasList = new commandList(); - nickName = new String(); - tag = new String(); - suffix = new String(); - //Try to apply what we can - try { - Scanner scanner = new Scanner(new File(location)); - while (scanner.hasNextLine()) { - String line = scanner.nextLine(); - if (line.startsWith("#") || line.equals("") || line.startsWith("")) { - continue; - } - String[] split = line.split(":"); - if (!split[0].equalsIgnoreCase(name)) { - continue; - } - nickName = (split[1].split(",").toString()); - - if (split.length >= 4) { - tag = (split[3]); - } - if (split.length >= 5) { - //ignoreList = (split[4]); - } - if (split.length >= 6) { - //aliasList - } - } - scanner.close(); - } catch (Exception e) { - log.log(Level.SEVERE, "Exception while reading " + location + " (Are you sure you formatted it correctly?)", e); - } - + aliasList = new commandList(); + nickName = new String(); + tag = new String(); + suffix = new String(); + String location = "vminecraftusers.txt"; + //Try to apply what we can + try { + Scanner scanner = new Scanner(new File(location)); + while (scanner.hasNextLine()) { + String line = scanner.nextLine(); + if (line.startsWith("#") || line.equals("") || line.startsWith("")) { + continue; + } + String[] split = line.split(":"); + if (!split[0].equalsIgnoreCase(player.getName())) { + continue; + } + nickName = (split[1].split(",").toString()); + + if (split.length >= 4) { + tag = (split[3]); + } + + //Add all the ignored people to the player's ignore list + if (split.length >= 5) { + for(String name : split[4].split(",")) + ignoreList.add(etc.getServer().getPlayer(name)); + } + if (split.length >= 6) { + //Loop through all the aliases + for(String alias : split[5].split(",")) + { + //Break apart the two parts of the alias + String[] parts = alias.split("@"); + if(parts.length > 1) + { + //Get the arguments for the alias if there are any + String[] command = parts[1].split(" "); + String[] args = null; + if(command.length > 1) + System.arraycopy(command, 1, args, 0, command.length - 2); + + //Register the alias to the player's aliasList + aliasList.registerAlias(parts[0], command[0], args); + } + } + } + } + scanner.close(); + } catch (Exception e) { + log.log(Level.SEVERE, "Exception while reading " + location + " (Are you sure you formatted it correctly?)", e); + } } //=====================================================================