فهرست منبع

Fixed many broken features and added the ability to check who is in your party.

nossr50 14 سال پیش
والد
کامیت
9084b3fca4
2فایلهای تغییر یافته به همراه68 افزوده شده و 17 حذف شده
  1. 66 15
      mcMMO/com/bukkit/nossr50/mcMMO/mcPlayerListener.java
  2. 2 2
      mcMMO/com/bukkit/nossr50/mcMMO/mcUsers.java

+ 66 - 15
mcMMO/com/bukkit/nossr50/mcMMO/mcPlayerListener.java

@@ -25,27 +25,60 @@ public class mcPlayerListener extends PlayerListener {
     	player.sendMessage("Set your spawn with "+ChatColor.YELLOW+"/setmyspawn"+ChatColor.WHITE+", Travel to it with /myspawn");
     	player.sendMessage(ChatColor.RED+"WARNING: "+ChatColor.DARK_GRAY+ "Using /myspawn will clear your inventory!"); 
     }
+    //Check if string is a player
+    public boolean isPlayer(String playerName){
+    	for(Player herp : plugin.getServer().getOnlinePlayers()){
+    		if(herp.getName().toLowerCase().equals(playerName.toLowerCase())){
+    			return true;
+    		}
+    	}
+    		return false;
+    }
+    public int partyCount(Player player){
+    	Player players[] = plugin.getServer().getOnlinePlayers();
+        int x = 0;
+        for(Player hurrdurr: players){
+        	if(mcUsers.getProfile(player).getParty().equals(mcUsers.getProfile(hurrdurr).getParty()))
+        	x++;
+        }
+        return x;
+    }
+    public Player getPlayer(String playerName){
+    	for(Player herp : plugin.getServer().getOnlinePlayers()){
+    		if(herp.getName().toLowerCase().equals(playerName.toLowerCase())){
+    			return herp;
+    		}
+    	}
+    	return null;
+    }
     public void onPlayerCommand(PlayerChatEvent event) {
     	Player player = event.getPlayer();
     	String[] split = event.getMessage().split(" ");
     	String playerName = player.getName();
     	//mcMMO command
-    	if(split[0].equalsIgnoreCase("/whereis")){
-    		if(!player.isOp())
-    			return;
-    		if(split.length == 1){
-    			player.sendMessage("Usage is /whereis [player]");
+    	if(player.isOp() && split[0].equalsIgnoreCase("/whois")){
+    		if(split.length < 2){
+    			player.sendMessage(ChatColor.RED + "Proper usage is /whois <playername>");
     			return;
     		}
-    		for(Player derp : plugin.getServer().getOnlinePlayers()){
-				if(derp.getName().toLowerCase().equals(split[2].toLowerCase())){
-					Location loc = derp.getLocation();
-					player.sendMessage("Player  " + derp.getName() + " Coordinates");
-					player.sendMessage("X: " + String(loc.getX()));
-					player.sendMessage("Y: " + String(loc.getY()));
-					player.sendMessage("Z: " + String(loc.getZ()));
-				}
-			}
+    		//if split[1] is a player
+    		if(isPlayer(split[1])){
+    		Player target = getPlayer(split[1]);
+    		double x,y,z;
+    		x = target.getLocation().getX();
+    		y = target.getLocation().getY();
+    		z = target.getLocation().getZ();
+    		player.sendMessage(ChatColor.GREEN + "~~WHOIS RESULTS~~");
+    		player.sendMessage(target.getName());
+    		player.sendMessage("Health: "+target.getHealth()+ChatColor.GRAY+" (20 is full health)");
+    		player.sendMessage("OP: " + target.isOp());
+    		player.sendMessage(ChatColor.GREEN+"~~mcMMO stats~~");
+    		player.sendMessage("Gathering Skill: "+mcUsers.getProfile(target).getgather());
+    		player.sendMessage(ChatColor.GREEN+"~~COORDINATES~~");
+    		player.sendMessage("X: "+x);
+    		player.sendMessage("Y: "+y);
+    		player.sendMessage("Z: "+z);
+    		}
     	}
     	if(split[0].equalsIgnoreCase("/setmyspawn")){
     		double x = player.getLocation().getX();
@@ -68,10 +101,28 @@ public class mcPlayerListener extends PlayerListener {
     	//Party command
     	if(split[0].equalsIgnoreCase("/party")){
     		event.setCancelled(true);
-    		if(split.length == 1){
+    		if(split.length == 1 && !mcUsers.getProfile(player).inParty()){
     			player.sendMessage("Proper usage is /party <name> or 'q' to quit");
     			return;
     		}
+    		if(split.length == 1 && mcUsers.getProfile(player).inParty()){
+            	String tempList = "";
+            	int x = 0;
+                for(Player p : plugin.getServer().getOnlinePlayers())
+                {
+                	if(mcUsers.getProfile(player).getParty().equals(mcUsers.getProfile(p).getParty())){
+	                	if(p != null && x+1 >= partyCount(player)){
+	                		tempList+= p.getName();
+	                		x++;
+	                	}
+	                	if(p != null && x < partyCount(player)){
+	                		tempList+= p.getName() +", ";
+	                		x++;
+	                	}
+                	}
+                }
+                player.sendMessage(ChatColor.GREEN + "Party Members ("+ChatColor.WHITE+tempList+ChatColor.GREEN+")");
+    		}
     		if(split[1].equals("q") && mcUsers.getProfile(player).inParty()){
     			mcUsers.getProfile(player).removeParty();
     			informPartyMembersQuit(player);

+ 2 - 2
mcMMO/com/bukkit/nossr50/mcMMO/mcUsers.java

@@ -12,7 +12,7 @@ import org.bukkit.entity.*;
 public class mcUsers {
     private static volatile mcUsers instance;
     protected static final Logger log = Logger.getLogger("Minecraft");
-    String location = "mcMMO.users";
+    String location = "mcmmo.users";
     public static PlayerList players = new PlayerList();
     private Properties properties = new Properties();
     
@@ -158,7 +158,7 @@ class PlayerList
 		private boolean dead;
 		char defaultColor;
 
-        String location = "mcMMO.users";
+        String location = "mcmmo.users";
 		
 		
 		//=====================================================================