Added in some parsing of the loading from vminecraftusers.txt

This commit is contained in:
cerevisiae 2010-12-02 14:45:24 -06:00
parent 9e293645a3
commit 04c385d0dc
2 changed files with 67 additions and 37 deletions

View File

@ -32,6 +32,7 @@ public class vMinecraftChat {
//===================================================================== //=====================================================================
public static void sendMessage(Player sender, Player receiver, String msg){ public static void sendMessage(Player sender, Player receiver, String msg){
String[] message = applyColors(wordWrap(msg)); String[] message = applyColors(wordWrap(msg));
if
for(String out : message) for(String out : message)
receiver.sendMessage(out + " "); receiver.sendMessage(out + " ");
} }
@ -283,6 +284,12 @@ public class vMinecraftChat {
case 'F': case 'F':
color = Colors.White; color = Colors.White;
break; break;
case 'R':
color = "~";
break;
case 'r':
color = "~";
break;
default: default:
color = null; color = null;
break; break;
@ -401,10 +408,11 @@ public class vMinecraftChat {
} }
return false; return false;
} }
//=====================================================================
//=====================================================================
//Function: emote //Function: emote
//Input: Player player: The player talking //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 //Output: boolean: If this feature is enabled
//Use: /me but with our custom colors applied //Use: /me but with our custom colors applied
//===================================================================== //=====================================================================

View File

@ -10,8 +10,10 @@ public class vMinecraftUsers {
String file = "vminecraftusers.txt"; String file = "vminecraftusers.txt";
private PropertiesFile properties; private PropertiesFile properties;
String location = "vminecraftusers.txt"; String location = "vminecraftusers.txt";
private String[] ignoreList = new String[]{""}; //For datafiles
private String[] aliasList = new String[]{""}; //For datafiles ArrayList<PlayerList> players = new ArrayList<PlayerList>();
public void loadUsers(){ public void loadUsers(){
File theDir = new File("vminecraftusers.txt"); File theDir = new File("vminecraftusers.txt");
if(!theDir.exists()){ if(!theDir.exists()){
@ -158,6 +160,7 @@ class PlayerList
//===================================================================== //=====================================================================
class PlayerProfile class PlayerProfile
{ {
protected final Logger log = Logger.getLogger("Minecraft");
private Player playerName; private Player playerName;
private String nickName; private String nickName;
private String tag; private String tag;
@ -180,39 +183,58 @@ class PlayerList
{ {
//Declare things //Declare things
ignoreList = new ArrayList<Player>(); ignoreList = new ArrayList<Player>();
aliasList = new commandList(); aliasList = new commandList();
nickName = new String(); nickName = new String();
tag = new String(); tag = new String();
suffix = new String(); suffix = new String();
//Try to apply what we can String location = "vminecraftusers.txt";
try { //Try to apply what we can
Scanner scanner = new Scanner(new File(location)); try {
while (scanner.hasNextLine()) { Scanner scanner = new Scanner(new File(location));
String line = scanner.nextLine(); while (scanner.hasNextLine()) {
if (line.startsWith("#") || line.equals("") || line.startsWith("")) { String line = scanner.nextLine();
continue; if (line.startsWith("#") || line.equals("") || line.startsWith("")) {
} continue;
String[] split = line.split(":"); }
if (!split[0].equalsIgnoreCase(name)) { String[] split = line.split(":");
continue; if (!split[0].equalsIgnoreCase(player.getName())) {
} continue;
nickName = (split[1].split(",").toString()); }
nickName = (split[1].split(",").toString());
if (split.length >= 4) {
tag = (split[3]); if (split.length >= 4) {
} tag = (split[3]);
if (split.length >= 5) { }
//ignoreList = (split[4]);
} //Add all the ignored people to the player's ignore list
if (split.length >= 6) { if (split.length >= 5) {
//aliasList for(String name : split[4].split(","))
} ignoreList.add(etc.getServer().getPlayer(name));
} }
scanner.close(); if (split.length >= 6) {
} catch (Exception e) { //Loop through all the aliases
log.log(Level.SEVERE, "Exception while reading " + location + " (Are you sure you formatted it correctly?)", e); 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);
}
} }
//===================================================================== //=====================================================================