mirror of
				https://github.com/mcMMO-Dev/mcMMO.git
				synced 2025-10-31 17:23:42 +01:00 
			
		
		
		
	Personal muting added.
This commit is contained in:
		
							
								
								
									
										14
									
								
								TODO
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								TODO
									
									
									
									
									
								
							| @@ -1,20 +1,14 @@ | |||||||
| Vminecraft b8 Todo: | Vminecraft b8 Todo: | ||||||
| 	+ ^r for rainbow color code | 	+ ^r for rainbow color code | ||||||
| 	+ Finish work on the flat file system | 	+ Finish work on the flat file system | ||||||
| 	+ Antigriefs <Nos> Working on this, waiting for hMod to fix player health | 	+ Antigriefs <Nos> Working on this | ||||||
| 	+ Allow players to nickname themselves or others | 	+ Allow players to nickname themselves or others | ||||||
| 	+ vminecraft Help |  | ||||||
| 		* Specialized help message for vminecraft |  | ||||||
| 			? /vhelp? |  | ||||||
| 	+ Time manipulation <Cere> Working on this | 	+ Time manipulation <Cere> Working on this | ||||||
| 		* Have time changes not be instant but move the sky faster | 		* Have time changes not be instant but move the sky faster | ||||||
| 			to get to the time entered | 			to get to the time entered | ||||||
| 		* Loop through specific times of the day and then rewind | 		* Loop through specific times of the day and then rewind | ||||||
| 			ex: Sunrise to sunset, mid-morning to noon | 			ex: Sunrise to sunset, mid-morning to noon | ||||||
| 	+ Aliasing Commands (Global Aliases and Personal Aliases) <Cere> | 	+ Aliasing Commands (Global Aliases and Personal Aliases) <Cere> | ||||||
| 	+ Recode Messaging |  | ||||||
| 		* Reply Feature |  | ||||||
| 		* Personal Muting |  | ||||||
| 	+ Different types of /slay | 	+ Different types of /slay | ||||||
| 		* /slay fire to burn them to death | 		* /slay fire to burn them to death | ||||||
| 		* /slay drown to drown them | 		* /slay drown to drown them | ||||||
| @@ -43,5 +37,11 @@ DONE | |||||||
| 		* Now we can have color on multiple lines without | 		* Now we can have color on multiple lines without | ||||||
| 			crashing the client | 			crashing the client | ||||||
| 		* Also does not cut words in half | 		* Also does not cut words in half | ||||||
|  | 	+ vminecraft Help | ||||||
|  | 		* Specialized help message for vminecraft | ||||||
|  | 			? /vhelp? | ||||||
|  | 	+ Recode Messaging | ||||||
|  | 		* Reply Feature | ||||||
|  | 		* Personal Muting | ||||||
|  |  | ||||||
| Notes: Let's try to to finish as much of this list as possible tomorrow and push for a b8 release soon :P | Notes: Let's try to to finish as much of this list as possible tomorrow and push for a b8 release soon :P | ||||||
|   | |||||||
| @@ -20,7 +20,15 @@ public class vMinecraftChat { | |||||||
|     public static void gmsg(Player sender, String msg){ |     public static void gmsg(Player sender, String msg){ | ||||||
|         for (Player receiver : etc.getServer().getPlayerList()) { |         for (Player receiver : etc.getServer().getPlayerList()) { | ||||||
|             if (receiver != null) { |             if (receiver != null) { | ||||||
|                 sendMessage(sender, receiver, msg); |             	if(vMinecraftUsers.players.findProfile(receiver) == null) | ||||||
|  |             		return; | ||||||
|  |             	//Check if the person has the sender ignored | ||||||
|  |             	if(!vMinecraftUsers.players.findProfile(receiver).isIgnored(sender)) | ||||||
|  |         		{ | ||||||
|  |         	    	String[] message = applyColors(wordWrap(msg)); | ||||||
|  |         	    	for(String out : message) | ||||||
|  |         	    		receiver.sendMessage(out); | ||||||
|  |         		} | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| @@ -32,9 +40,18 @@ public class vMinecraftChat { | |||||||
| 	//Use:		Outputs a message to everybody | 	//Use:		Outputs a message to everybody | ||||||
| 	//===================================================================== | 	//===================================================================== | ||||||
|     public static void sendMessage(Player sender, Player receiver, String msg){ |     public static void sendMessage(Player sender, Player receiver, String msg){ | ||||||
|  |     	//Check if the receiver has the sender ignored | ||||||
|  |     	if(vMinecraftUsers.players.findProfile(receiver) == null) | ||||||
|  |     		return; | ||||||
|  | 		if(!vMinecraftUsers.players.findProfile(receiver).isIgnored(sender)) | ||||||
|  | 		{ | ||||||
| 	    	String[] message = applyColors(wordWrap(msg)); | 	    	String[] message = applyColors(wordWrap(msg)); | ||||||
| 	    	for(String out : message) | 	    	for(String out : message) | ||||||
|     		receiver.sendMessage(out + " "); | 	    		receiver.sendMessage(out); | ||||||
|  | 	    //Tell them if they are | ||||||
|  | 		} else | ||||||
|  |     		sendMessage(sender, sender, Colors.Rose + receiver.getName() + " has you " + | ||||||
|  |     				"on their ignore list."); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| 	//===================================================================== | 	//===================================================================== | ||||||
|   | |||||||
| @@ -37,7 +37,6 @@ public class vMinecraftCommands{ | |||||||
|     	//String(Optional): The help menu description |     	//String(Optional): The help menu description | ||||||
|         cl.register("/tp", "teleport"); |         cl.register("/tp", "teleport"); | ||||||
|         cl.register("/vminecraft", "vminecrafthelp"); |         cl.register("/vminecraft", "vminecrafthelp"); | ||||||
|         cl.registerAlias("/vhelp", "/vminecraft"); |  | ||||||
|         cl.register("/colors", "colors"); |         cl.register("/colors", "colors"); | ||||||
|         cl.register("/masstp", "masstp", "Teleports those with lower permissions to you"); |         cl.register("/masstp", "masstp", "Teleports those with lower permissions to you"); | ||||||
|         cl.register("/reload", "reload"); |         cl.register("/reload", "reload"); | ||||||
| @@ -56,6 +55,8 @@ public class vMinecraftCommands{ | |||||||
|         cl.register("/me", "me"); |         cl.register("/me", "me"); | ||||||
|         cl.register("/msg", "message", "Send a message to a player /msg [Player] [Message]"); |         cl.register("/msg", "message", "Send a message to a player /msg [Player] [Message]"); | ||||||
|         cl.register("/reply", "reply", "Reply to a player /reply [Message], Alias: /r"); |         cl.register("/reply", "reply", "Reply to a player /reply [Message], Alias: /r"); | ||||||
|  |         cl.register("/ignore", "addIgnored", "Adds a user to your ignore list"); | ||||||
|  |         cl.register("/unignore", "removeIgnored", "Removes a user from your ignore list"); | ||||||
|          |          | ||||||
|         //registerAlias |         //registerAlias | ||||||
|         //String: The command that this will be called by |         //String: The command that this will be called by | ||||||
| @@ -68,6 +69,7 @@ public class vMinecraftCommands{ | |||||||
|         //		  The %0 will be replaced with wood for this instance |         //		  The %0 will be replaced with wood for this instance | ||||||
|         //		  and Player will be given 100 wood. |         //		  and Player will be given 100 wood. | ||||||
|         cl.registerAlias("/playerlist", "/who"); |         cl.registerAlias("/playerlist", "/who"); | ||||||
|  |         cl.registerAlias("/vhelp", "/vminecraft"); | ||||||
|         cl.registerAlias("/r", "/reply"); |         cl.registerAlias("/r", "/reply"); | ||||||
|         cl.registerAlias("/w", "/msg"); |         cl.registerAlias("/w", "/msg"); | ||||||
|         cl.registerAlias("/wrists", "/suicide"); |         cl.registerAlias("/wrists", "/suicide"); | ||||||
| @@ -127,7 +129,22 @@ public class vMinecraftCommands{ | |||||||
| 	//Use:		Displays a list of all colors and color codes | 	//Use:		Displays a list of all colors and color codes | ||||||
| 	//===================================================================== | 	//===================================================================== | ||||||
|     public static int colors(Player player, String[] args){ |     public static int colors(Player player, String[] args){ | ||||||
|         vMinecraftChat.sendMessage(player, player, Colors.Black + "0" + Colors.Navy + "1" + Colors.Green+ "2" + Colors.Blue + "3" + Colors.Red + "4" + Colors.Purple + "5" + Colors.Gold + "6" + Colors.LightGray + "7" + Colors.Gray + "8" + Colors.DarkPurple + "9" + Colors.LightGreen + "a" + Colors.LightBlue + "b" + Colors.Rose + "c" + Colors.LightPurple + "d" + Colors.White + "f"); |         vMinecraftChat.sendMessage(player, player, | ||||||
|  |         		  Colors.Black			+ "0" | ||||||
|  |         		+ Colors.Navy			+ "1" | ||||||
|  |         		+ Colors.Green			+ "2" | ||||||
|  |         		+ Colors.Blue			+ "3" | ||||||
|  |         		+ Colors.Red 			+ "4" | ||||||
|  |         		+ Colors.Purple 		+ "5" | ||||||
|  |         		+ Colors.Gold 			+ "6" | ||||||
|  |         		+ Colors.LightGray 		+ "7" | ||||||
|  |         		+ Colors.Gray 			+ "8" | ||||||
|  |         		+ Colors.DarkPurple 	+ "9" | ||||||
|  |         		+ Colors.LightGreen 	+ "a" | ||||||
|  |         		+ Colors.LightBlue 		+ "b" | ||||||
|  |         		+ Colors.Rose 			+ "c" | ||||||
|  |         		+ Colors.LightPurple	+ "d" | ||||||
|  |         		+ Colors.White			+ "f"); | ||||||
|         return EXIT_SUCCESS; |         return EXIT_SUCCESS; | ||||||
|     } |     } | ||||||
|      |      | ||||||
| @@ -224,8 +241,80 @@ public class vMinecraftCommands{ | |||||||
|     	return EXIT_SUCCESS; |     	return EXIT_SUCCESS; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  | 	//===================================================================== | ||||||
|  | 	//Function:	addIgnored (/ignore) | ||||||
|  | 	//Input:	Player player: The player using the command | ||||||
|  |     //			String[] args: The name of the player to ignore | ||||||
|  | 	//Output:	int: Exit Code | ||||||
|  | 	//Use:		Adds a player to the ignore list | ||||||
|  | 	//===================================================================== | ||||||
|     public static int addIgnored(Player player, String[] args) |     public static int addIgnored(Player player, String[] args) | ||||||
|     { |     { | ||||||
|  |     	//Make sure the player gave you a user to ignore | ||||||
|  |     	if(args.length > 0) | ||||||
|  |     	{ | ||||||
|  |     		//Find the player and make sure they exist | ||||||
|  |         	Player ignore = etc.getServer().matchPlayer(args[0]); | ||||||
|  |         	if(ignore != null) | ||||||
|  |         	{ | ||||||
|  |         		//Don't let the player ignore themselves | ||||||
|  |         		if(!ignore.getName().equalsIgnoreCase(player.getName())) | ||||||
|  |         		{ | ||||||
|  | 	        		//Attempt to ignore the player and report accordingly | ||||||
|  | 	        		if(vMinecraftUsers.players.findProfile(player).addIgnore(ignore)) | ||||||
|  | 	        			vMinecraftChat.sendMessage(player, player, | ||||||
|  | 	        					Colors.Rose + ignore.getName()+ " has been successfuly " + | ||||||
|  | 	        							"ignored."); | ||||||
|  | 	        		else | ||||||
|  | 	        			vMinecraftChat.sendMessage(player, player, | ||||||
|  | 	        					Colors.Rose + "You are already ignoring " + ignore.getName()); | ||||||
|  |         		} else | ||||||
|  |         			vMinecraftChat.sendMessage(player, player, | ||||||
|  |         					Colors.Rose + "You cannot ignore yourself"); | ||||||
|  |         	} | ||||||
|  |         	else | ||||||
|  |     			vMinecraftChat.sendMessage(player, player, | ||||||
|  |     					Colors.Rose + "The person you tried to ignore is not logged in."); | ||||||
|  |  | ||||||
|  |     	} | ||||||
|  |     	else | ||||||
|  | 			vMinecraftChat.sendMessage(player, player, | ||||||
|  | 					Colors.Rose + "Usage: /ignore [Player]"); | ||||||
|  |     	return EXIT_SUCCESS; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  | 	//===================================================================== | ||||||
|  | 	//Function:	removeIgnored (/unignore) | ||||||
|  | 	//Input:	Player player: The player using the command | ||||||
|  |     //			String[] args: The name of the player to stop ignoring | ||||||
|  | 	//Output:	int: Exit Code | ||||||
|  | 	//Use:		Removes a player from the ignore list | ||||||
|  | 	//===================================================================== | ||||||
|  |     public static int removeIgnored(Player player, String[] args) | ||||||
|  |     { | ||||||
|  |     	//Make sure the player gave you a user to ignore | ||||||
|  |     	if(args.length > 0) | ||||||
|  |     	{ | ||||||
|  |     		//Find the player and make sure they exist | ||||||
|  |         	Player ignore = etc.getServer().matchPlayer(args[0]); | ||||||
|  |         	if(ignore != null) | ||||||
|  |         	{ | ||||||
|  |         		//Attempt to ignore the player and report accordingly | ||||||
|  |         		if(vMinecraftUsers.players.findProfile(player).removeIgnore(ignore)) | ||||||
|  |         			vMinecraftChat.sendMessage(player, player, | ||||||
|  |         					Colors.Rose + ignore.getName()+ " has been successfuly " + | ||||||
|  |         							"unignored."); | ||||||
|  |         		else | ||||||
|  |         			vMinecraftChat.sendMessage(player, player, | ||||||
|  |         					Colors.Rose + "You are not currently ignoring " + ignore.getName()); | ||||||
|  |         	} | ||||||
|  |         	else | ||||||
|  |     			vMinecraftChat.sendMessage(player, player, | ||||||
|  |     					Colors.Rose + "The person you tried to unignore is not logged in."); | ||||||
|  |     	} | ||||||
|  |     	else | ||||||
|  | 			vMinecraftChat.sendMessage(player, player, | ||||||
|  | 					Colors.Rose + "Usage: /unignore [Player]"); | ||||||
|     	return EXIT_SUCCESS; |     	return EXIT_SUCCESS; | ||||||
|     } |     } | ||||||
|      |      | ||||||
|   | |||||||
| @@ -149,7 +149,7 @@ class PlayerList | |||||||
| 					   nickName, | 					   nickName, | ||||||
| 					   tag, | 					   tag, | ||||||
| 					   suffix; | 					   suffix; | ||||||
| 		private ArrayList<Player> ignoreList; | 		private ArrayList<String> ignoreList; | ||||||
| 		private commandList aliasList; | 		private commandList aliasList; | ||||||
| 		 | 		 | ||||||
| 	    static final int EXIT_FAIL		= 0, | 	    static final int EXIT_FAIL		= 0, | ||||||
| @@ -170,7 +170,7 @@ class PlayerList | |||||||
|             nickName = new String(); |             nickName = new String(); | ||||||
|             tag = new String(); |             tag = new String(); | ||||||
|             suffix = new String(); |             suffix = new String(); | ||||||
| 			ignoreList = new ArrayList<Player>(); | 			ignoreList = new ArrayList<String>(); | ||||||
|             aliasList = new commandList(); |             aliasList = new commandList(); | ||||||
|             String location = "vminecraftusers.txt"; |             String location = "vminecraftusers.txt"; | ||||||
|              |              | ||||||
| @@ -188,20 +188,21 @@ class PlayerList | |||||||
| 	                if (split.length > 0 && split[0].equalsIgnoreCase(player.getName())) { | 	                if (split.length > 0 && split[0].equalsIgnoreCase(player.getName())) { | ||||||
| 	                	 | 	                	 | ||||||
| 		                //Get the tag from the 1st split | 		                //Get the tag from the 1st split | ||||||
| 		                nickName = (split[1].split(",").toString()); | 		                if (split.length >= 2) | ||||||
|  | 		                	nickName = split[1]; | ||||||
|  |  | ||||||
| 		                //Get the tag from the 2nd split | 		                //Get the tag from the 2nd split | ||||||
|  | 			            if (split.length >= 3) | ||||||
| 			            	suffix = split[2]; | 			            	suffix = split[2]; | ||||||
| 		 | 		 | ||||||
| 		                //Get the tag from the 3rd split | 		                //Get the tag from the 3rd split | ||||||
| 		                if (split.length >= 4) { | 		                if (split.length >= 4) | ||||||
| 		                    tag = (split[3]); | 		                    tag = (split[3]); | ||||||
| 		                } |  | ||||||
| 		                 | 		                 | ||||||
| 		                //Add all the ignored people to the player's ignore list | 		                //Add all the ignored people to the player's ignore list | ||||||
| 		                if (split.length >= 5) { | 		                if (split.length >= 5) { | ||||||
| 		                	for(String name : split[4].split(",")) | 		                	for(String name : split[4].split(",")) | ||||||
| 		                		ignoreList.add(etc.getServer().getPlayer(name)); | 		                		ignoreList.add(name); | ||||||
| 		                } | 		                } | ||||||
| 		                 | 		                 | ||||||
| 		                //Get the alias list, from the 5th split | 		                //Get the alias list, from the 5th split | ||||||
| @@ -226,6 +227,7 @@ class PlayerList | |||||||
| 	            log.log(Level.SEVERE, "Exception while reading " | 	            log.log(Level.SEVERE, "Exception while reading " | ||||||
| 	            		+ location + " (Are you sure you formatted it correctly?)", e); | 	            		+ location + " (Are you sure you formatted it correctly?)", e); | ||||||
| 	        } | 	        } | ||||||
|  | 	        save(); | ||||||
| 		} | 		} | ||||||
| 		 | 		 | ||||||
|         //===================================================================== |         //===================================================================== | ||||||
| @@ -249,7 +251,11 @@ class PlayerList | |||||||
| 	                if (!split[0].equalsIgnoreCase(playerName)) { | 	                if (!split[0].equalsIgnoreCase(playerName)) { | ||||||
| 	                    continue; | 	                    continue; | ||||||
| 	                } | 	                } | ||||||
| 	                bw.write(playerName + ":" + nickName + ":" + suffix + ":" + tag + ":" + ignoreList + ":" + aliasList); | 	                String output =playerName + ":" + nickName + ":" + suffix + ":" + tag + ":"; | ||||||
|  | 	                for(String player : ignoreList) | ||||||
|  | 	                	output += player + ","; | ||||||
|  | 	                output += ":"; | ||||||
|  | 	                bw.write(output); | ||||||
| 	            } | 	            } | ||||||
| 	            scanner.close(); | 	            scanner.close(); | ||||||
| 	        } catch (Exception e) { | 	        } catch (Exception e) { | ||||||
| @@ -275,30 +281,44 @@ class PlayerList | |||||||
| 		//Output:	boolean: If they're ignored | 		//Output:	boolean: If they're ignored | ||||||
| 		//Use:		Finds if the specified player is in the ignore list | 		//Use:		Finds if the specified player is in the ignore list | ||||||
| 		//===================================================================== | 		//===================================================================== | ||||||
| 		public boolean isIgnored(Player player){return ignoreList.contains(player);} | 		public boolean isIgnored(Player player){ | ||||||
|  | 			log.log(Level.INFO, String.valueOf(ignoreList.contains(player.getName()))); | ||||||
|  | 			for(String pl : ignoreList) | ||||||
|  | 				log.log(Level.INFO, pl); | ||||||
|  | 			return ignoreList.contains(player.getName());} | ||||||
|  |  | ||||||
| 		//===================================================================== | 		//===================================================================== | ||||||
| 		//Function:	addIgnore | 		//Function:	addIgnore | ||||||
| 		//Input:	Player name: The player to ignore | 		//Input:	Player name: The player to ignore | ||||||
| 		//Output:	None | 		//Output:	boolean: If the player was successfully ignored | ||||||
| 		//Use:		Ignores a player. | 		//Use:		Ignores a player. | ||||||
| 		//===================================================================== | 		//===================================================================== | ||||||
| 		public void addIgnore(Player name) | 		public boolean addIgnore(Player name) | ||||||
| 		{ | 		{ | ||||||
| 			if(!ignoreList.contains(name)) | 			if(!ignoreList.contains(name)) | ||||||
| 				ignoreList.add(name); | 			{ | ||||||
|  | 				ignoreList.add(name.getName()); | ||||||
|  | 				save(); | ||||||
|  | 				return true; | ||||||
|  | 			} | ||||||
|  | 			return false; | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		//===================================================================== | 		//===================================================================== | ||||||
| 		//Function:	removeIgnore | 		//Function:	removeIgnore | ||||||
| 		//Input:	Player name: The player to ignore | 		//Input:	Player name: The player to unignore | ||||||
| 		//Output:	None | 		//Output:	boolean: If the player was successfully unignored | ||||||
| 		//Use:		Ignores a player. | 		//Use:		Stops ignoring a player. | ||||||
| 		//===================================================================== | 		//===================================================================== | ||||||
| 		public void removeIgnore(Player name) | 		public boolean removeIgnore(Player name) | ||||||
| 		{ | 		{ | ||||||
| 			if(ignoreList.contains(name)) | 			if(ignoreList.contains(name.getName())) | ||||||
| 				ignoreList.remove(name); | 			{ | ||||||
|  | 				ignoreList.remove(name.getName()); | ||||||
|  | 				save(); | ||||||
|  | 				return true; | ||||||
|  | 			} | ||||||
|  | 			return false; | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		//===================================================================== | 		//===================================================================== | ||||||
| @@ -311,6 +331,7 @@ class PlayerList | |||||||
| 		public void addAlias(String name, String callCommand) | 		public void addAlias(String name, String callCommand) | ||||||
| 		{ | 		{ | ||||||
| 			aliasList.registerAlias(name, callCommand); | 			aliasList.registerAlias(name, callCommand); | ||||||
|  | 			save(); | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		//===================================================================== | 		//===================================================================== | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 cerevisiae
					cerevisiae