Sfoglia il codice sorgente

Fixes to several commands & console usage. Fixes Issue #150

GJ 13 anni fa
parent
commit
105b8b5a91

+ 0 - 1
README.creole

@@ -16,7 +16,6 @@ Hearing that people enjoy mcMMO and seeing the daily youtube videos about my mod
 === Compiling
 
 Required Libraries:
-* CraftBukkit
 * Spout API
 
 Required to Run:

+ 6 - 2
src/main/java/com/gmail/nossr50/commands/general/MmoeditCommand.java

@@ -24,7 +24,12 @@ public class MmoeditCommand implements CommandExecutor {
 
 	@Override
 	public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
-		if (!mcPermissions.getInstance().mmoedit((Player) sender)) {
+		Player player = null;
+        if (sender instanceof Player) {
+            player = (Player) sender;
+        }
+		
+        if (player != null && !mcPermissions.getInstance().mmoedit(player)) {
 			sender.sendMessage("This command requires permissions.");
 			return true;
 		}
@@ -51,7 +56,6 @@ public class MmoeditCommand implements CommandExecutor {
 			return true;
 		}
 
-		Player player = (Player) sender;
 		PlayerProfile PP = Users.getProfile(player);
 
 		if (!mcPermissions.getInstance().mmoedit(player)) {

+ 4 - 1
src/main/java/com/gmail/nossr50/commands/general/StatsCommand.java

@@ -30,7 +30,10 @@ public class StatsCommand implements CommandExecutor {
 			return true;
 		}
 
-		Player player = (Player) sender;
+		Player player = null;
+        if (sender instanceof Player) {
+            player = (Player) sender;
+        }
 
 		if (!(sender instanceof Player)) {
 			if(args.length != 1) {

+ 10 - 2
src/main/java/com/gmail/nossr50/commands/general/WhoisCommand.java

@@ -30,13 +30,21 @@ public class WhoisCommand implements CommandExecutor {
 			return true;
 		}
 
-		Player player = (Player) sender;
+		Player player = null;
+        if (sender instanceof Player) {
+            player = (Player) sender;
+        }
 
-		if (!mcPermissions.getInstance().whois(player)) {
+		if (player != null  && !mcPermissions.getInstance().whois(player)) {
 			player.sendMessage(ChatColor.YELLOW + "[mcMMO] " + ChatColor.DARK_RED + mcLocale.getString("mcPlayerListener.NoPermission"));
 			return true;
 		}
 
+		if (!(sender instanceof Player)) {
+			sender.sendMessage("This command does not support console useage.");
+			return true;
+		}
+		
 		if (args.length < 1) {
 			player.sendMessage(ChatColor.RED + "Proper usage is /whois <playername>");
 			return true;

+ 4 - 4
src/main/java/com/gmail/nossr50/commands/general/XprateCommand.java

@@ -27,8 +27,8 @@ public class XprateCommand implements CommandExecutor {
 		if (!(sender instanceof Player)) {
 			if(args.length <= 0)
 			{
-				System.out.println(mcLocale.getString("Commands.xprate.proper", new Object[] {"/xprate"}));
-				System.out.println(mcLocale.getString("Commands.xprate.proper2", new Object[] {"/xprate"}));
+				System.out.println(mcLocale.getString("Commands.xprate.proper", new Object[] {"xprate"}));
+				System.out.println(mcLocale.getString("Commands.xprate.proper2", new Object[] {"xprate"}));
 			}
 			
 			if(args.length == 1 && args[0].equalsIgnoreCase("reset"))
@@ -81,8 +81,8 @@ public class XprateCommand implements CommandExecutor {
 		}
 		if(args.length <= 0)
 		{
-			player.sendMessage(mcLocale.getString("Commands.xprate.proper", new Object[] {"/xprate"}));
-			player.sendMessage(mcLocale.getString("Commands.xprate.proper2", new Object[] {"/xprate"}));
+			player.sendMessage(mcLocale.getString("Commands.xprate.proper", new Object[] {"xprate"}));
+			player.sendMessage(mcLocale.getString("Commands.xprate.proper2", new Object[] {"xprate"}));
 		}
 		if(args.length == 1 && args[0].equalsIgnoreCase("reset"))
 		{

+ 21 - 15
src/main/java/com/gmail/nossr50/commands/party/ACommand.java

@@ -44,10 +44,12 @@ public class ACommand implements CommandExecutor {
 			return true;
 		}
 
-		Player player = (Player) sender;
-		PlayerProfile PP = Users.getProfile(player);
+		Player player = null;
+        if (sender instanceof Player) {
+            player = (Player) sender;
+        }
 
-		if (!mcPermissions.getInstance().adminChat(player) && !player.isOp()) {
+		if (player != null && !mcPermissions.getInstance().adminChat(player) && !player.isOp()) {
 			player.sendMessage(ChatColor.YELLOW + "[mcMMO] " + ChatColor.DARK_RED + mcLocale.getString("mcPlayerListener.NoPermission"));
 			return true;
 		}
@@ -70,19 +72,23 @@ public class ACommand implements CommandExecutor {
 			return true;
 		}
 
-		if (PP.getPartyChatMode())
-			PP.togglePartyChat();
-
-		PP.toggleAdminChat();
-
-		if (PP.getAdminChatMode()) {
-			player.sendMessage(mcLocale.getString("mcPlayerListener.AdminChatOn"));
-			// player.sendMessage(ChatColor.AQUA + "Admin chat toggled " + ChatColor.GREEN + "On");
-		} else {
-			player.sendMessage(mcLocale.getString("mcPlayerListener.AdminChatOff"));
-			// player.sendMessage(ChatColor.AQUA + "Admin chat toggled " + ChatColor.RED + "Off");
+		if(player != null)
+		{
+			PlayerProfile PP = Users.getProfile(player);
+			
+			if (PP.getPartyChatMode())
+				PP.togglePartyChat();
+	
+			PP.toggleAdminChat();
+	
+			if (PP.getAdminChatMode()) {
+				player.sendMessage(mcLocale.getString("mcPlayerListener.AdminChatOn"));
+				// player.sendMessage(ChatColor.AQUA + "Admin chat toggled " + ChatColor.GREEN + "On");
+			} else {
+				player.sendMessage(mcLocale.getString("mcPlayerListener.AdminChatOff"));
+				// player.sendMessage(ChatColor.AQUA + "Admin chat toggled " + ChatColor.RED + "Off");
+			}
 		}
-
 		return true;
 	}
 }