Changed Disguise/Undisguise player to support UUID's as well, including UUID's of non-players. Changed LibsMsg to reflect this
This commit is contained in:
		| @@ -11,20 +11,17 @@ import me.libraryaddict.disguise.utilities.DisguiseParser.DisguisePerm; | ||||
| import me.libraryaddict.disguise.utilities.LibsMsg; | ||||
| import me.libraryaddict.disguise.utilities.ReflectionFlagWatchers; | ||||
| import me.libraryaddict.disguise.utilities.ReflectionFlagWatchers.ParamInfo; | ||||
| import me.libraryaddict.disguise.utilities.TranslateType; | ||||
| import org.apache.commons.lang.StringUtils; | ||||
| import org.bukkit.Bukkit; | ||||
| import org.bukkit.ChatColor; | ||||
| import org.bukkit.command.Command; | ||||
| import org.bukkit.command.CommandSender; | ||||
| import org.bukkit.command.TabCompleter; | ||||
| import org.bukkit.entity.Entity; | ||||
| import org.bukkit.entity.Player; | ||||
|  | ||||
| import java.lang.reflect.Method; | ||||
| import java.util.ArrayList; | ||||
| import java.util.Arrays; | ||||
| import java.util.HashMap; | ||||
| import java.util.List; | ||||
| import java.util.*; | ||||
|  | ||||
| public class DisguisePlayerCommand extends DisguiseBaseCommand implements TabCompleter { | ||||
|  | ||||
| @@ -47,7 +44,17 @@ public class DisguisePlayerCommand extends DisguiseBaseCommand implements TabCom | ||||
|             return true; | ||||
|         } | ||||
|  | ||||
|         Player player = Bukkit.getPlayer(args[0]); | ||||
|         Entity player = Bukkit.getPlayer(args[0]); | ||||
|  | ||||
|         if (player == null) { | ||||
|             if (args[0].contains("-")) { | ||||
|                 try { | ||||
|                     player = Bukkit.getEntity(UUID.fromString(args[0])); | ||||
|                 } | ||||
|                 catch (Exception ignored) { | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         if (player == null) { | ||||
|             sender.sendMessage(LibsMsg.CANNOT_FIND_PLAYER.get(args[0])); | ||||
| @@ -97,9 +104,13 @@ public class DisguisePlayerCommand extends DisguiseBaseCommand implements TabCom | ||||
|         DisguiseAPI.disguiseToAll(player, disguise); | ||||
|  | ||||
|         if (disguise.isDisguiseInUse()) { | ||||
|             sender.sendMessage(LibsMsg.DISG_PLAYER_AS_DISG.get(player.getName(), disguise.getType().toReadable())); | ||||
|             sender.sendMessage(LibsMsg.DISG_PLAYER_AS_DISG | ||||
|                     .get(player instanceof Player ? player.getName() : DisguiseType.getType(player).toReadable(), | ||||
|                             disguise.getType().toReadable())); | ||||
|         } else { | ||||
|             sender.sendMessage(LibsMsg.DISG_PLAYER_AS_DISG_FAIL.get(player.getName(), disguise.getType().toReadable())); | ||||
|             sender.sendMessage(LibsMsg.DISG_PLAYER_AS_DISG_FAIL | ||||
|                     .get(player instanceof Player ? player.getName() : DisguiseType.getType(player).toReadable(), | ||||
|                             disguise.getType().toReadable())); | ||||
|         } | ||||
|  | ||||
|         return true; | ||||
|   | ||||
| @@ -1,17 +1,20 @@ | ||||
| package me.libraryaddict.disguise.commands; | ||||
|  | ||||
| import me.libraryaddict.disguise.DisguiseAPI; | ||||
| import me.libraryaddict.disguise.disguisetypes.DisguiseType; | ||||
| import me.libraryaddict.disguise.utilities.LibsMsg; | ||||
| import org.bukkit.Bukkit; | ||||
| import org.bukkit.command.Command; | ||||
| import org.bukkit.command.CommandExecutor; | ||||
| import org.bukkit.command.CommandSender; | ||||
| import org.bukkit.command.TabCompleter; | ||||
| import org.bukkit.entity.Entity; | ||||
| import org.bukkit.entity.Player; | ||||
|  | ||||
| import java.util.ArrayList; | ||||
| import java.util.Iterator; | ||||
| import java.util.List; | ||||
| import java.util.UUID; | ||||
|  | ||||
| public class UndisguisePlayerCommand implements CommandExecutor, TabCompleter { | ||||
|     protected ArrayList<String> filterTabs(ArrayList<String> list, String[] origArgs) { | ||||
| @@ -52,13 +55,28 @@ public class UndisguisePlayerCommand implements CommandExecutor, TabCompleter { | ||||
|     public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { | ||||
|         if (sender.hasPermission("libsdisguises.undisguiseplayer")) { | ||||
|             if (args.length > 0) { | ||||
|                 Player p = Bukkit.getPlayer(args[0]); | ||||
|                 Entity p = Bukkit.getPlayer(args[0]); | ||||
|  | ||||
|                 if (p == null) { | ||||
|                     if (p == null) { | ||||
|                         if (args[0].contains("-")) { | ||||
|                             try { | ||||
|                                 p = Bukkit.getEntity(UUID.fromString(args[0])); | ||||
|                             } | ||||
|                             catch (Exception ignored) { | ||||
|                             } | ||||
|                         } | ||||
|                     } | ||||
|                 } | ||||
|  | ||||
|                 if (p != null) { | ||||
|                     if (DisguiseAPI.isDisguised(p)) { | ||||
|                         DisguiseAPI.undisguiseToAll(p); | ||||
|                         sender.sendMessage(LibsMsg.UNDISG_PLAYER.get(p.getName())); | ||||
|                         sender.sendMessage(LibsMsg.UNDISG_PLAYER | ||||
|                                 .get(p instanceof Player ? p.getName() : DisguiseType.getType(p).toReadable())); | ||||
|                     } else { | ||||
|                         sender.sendMessage(LibsMsg.UNDISG_PLAYER_FAIL.get(p.getName())); | ||||
|                         sender.sendMessage(LibsMsg.UNDISG_PLAYER_FAIL | ||||
|                                 .get(p instanceof Player ? p.getName() : DisguiseType.getType(p).toReadable())); | ||||
|                     } | ||||
|                 } else { | ||||
|                     sender.sendMessage(LibsMsg.CANNOT_FIND_PLAYER.get(args[0])); | ||||
|   | ||||
| @@ -1317,7 +1317,7 @@ public class DisguiseUtilities { | ||||
|                     break; | ||||
|                 } | ||||
|  | ||||
|                 // If the player is in a team already | ||||
|                 // If the player is in a team already and the team isn't one controlled by Lib's Disguises | ||||
|                 if (prevTeam != null && !(prevTeam.getName().equals("LD Pushing") || prevTeam.getName() | ||||
|                         .endsWith("_LDP"))) { | ||||
|                     // If we're creating a scoreboard | ||||
|   | ||||
| @@ -8,7 +8,7 @@ import org.bukkit.ChatColor; | ||||
| public enum LibsMsg { | ||||
|     BLOWN_DISGUISE(ChatColor.RED + "Your disguise was blown!"), | ||||
|     CAN_USE_DISGS(ChatColor.DARK_GREEN + "You can use the disguises: %s"), | ||||
|     CANNOT_FIND_PLAYER(ChatColor.RED + "Cannot find the player '%s'"), | ||||
|     CANNOT_FIND_PLAYER(ChatColor.RED + "Cannot find the player/uuid '%s'"), | ||||
|     CLICK_TIMER(ChatColor.RED + "Right click a entity in the next %s seconds to grab the disguise reference!"), | ||||
|     CLONE_HELP1( | ||||
|             ChatColor.DARK_GREEN + "Right click a entity to get a disguise reference you can pass to other disguise commands!"), | ||||
| @@ -76,7 +76,7 @@ public enum LibsMsg { | ||||
|     DMODRADIUS_NOPERM(ChatColor.RED + "No permission to modify %s disguises!"), | ||||
|     DMODRADIUS_UNRECOGNIZED(ChatColor.RED + "Unrecognised DisguiseType %s"), | ||||
|     DMODRADIUS_USABLE(ChatColor.DARK_GREEN + "DisguiseTypes usable are: %s" + ChatColor.DARK_GREEN + "."), | ||||
|     DPLAYER_SUPPLY(ChatColor.RED + "You need to supply a disguise as well as the player"), | ||||
|     DPLAYER_SUPPLY(ChatColor.RED + "You need to supply a disguise as well as the player/uuid"), | ||||
|     DRADIUS_ENTITIES(ChatColor.DARK_GREEN + "EntityTypes usable are: %s"), | ||||
|     DRADIUS_HELP1(ChatColor.DARK_GREEN + "Disguise all entities in a radius! Caps at %s blocks!"), | ||||
|     DRADIUS_HELP3( | ||||
|   | ||||
		Reference in New Issue
	
	Block a user