diff --git a/docs/acf-bukkit/co/aikar/commands/ACFBukkitUtil.html b/docs/acf-bukkit/co/aikar/commands/ACFBukkitUtil.html index 7024ab39..721953d0 100644 --- a/docs/acf-bukkit/co/aikar/commands/ACFBukkitUtil.html +++ b/docs/acf-bukkit/co/aikar/commands/ACFBukkitUtil.html @@ -591,7 +591,7 @@ public static @NotNull org.bukkit.Location 
  • isValidName

    -
    public static boolean isValidName(String name)
    +
    public static boolean isValidName(String name)
  • diff --git a/docs/acf-bukkit/src-html/co/aikar/commands/ACFBukkitUtil.html b/docs/acf-bukkit/src-html/co/aikar/commands/ACFBukkitUtil.html index 79899202..e80b42ea 100644 --- a/docs/acf-bukkit/src-html/co/aikar/commands/ACFBukkitUtil.html +++ b/docs/acf-bukkit/src-html/co/aikar/commands/ACFBukkitUtil.html @@ -264,71 +264,68 @@ 256 return null; 257 } 258 String name = ACFUtil.replace(search, ":confirm", ""); -259 if (name.length() < 3) { -260 issuer.sendError(MinecraftMessageKeys.USERNAME_TOO_SHORT); -261 return null; -262 } -263 if (!isValidName(name)) { -264 issuer.sendError(MinecraftMessageKeys.IS_NOT_A_VALID_NAME, "{name}", name); -265 return null; -266 } -267 -268 List<Player> matches = Bukkit.getServer().matchPlayer(name); -269 List<Player> confirmList = new ArrayList<>(); -270 findMatches(search, requester, matches, confirmList); -271 -272 -273 if (matches.size() > 1 || confirmList.size() > 1) { -274 String allMatches = matches.stream().map(Player::getName).collect(Collectors.joining(", ")); -275 issuer.sendError(MinecraftMessageKeys.MULTIPLE_PLAYERS_MATCH, -276 "{search}", name, "{all}", allMatches); -277 return null; -278 } -279 -280 //noinspection Duplicates -281 if (matches.isEmpty()) { -282 if (confirmList.isEmpty()) { -283 issuer.sendError(MinecraftMessageKeys.NO_PLAYER_FOUND_SERVER, -284 "{search}", name); -285 return null; -286 } else { -287 Player player = Iterables.getOnlyElement(confirmList); -288 issuer.sendInfo(MinecraftMessageKeys.PLAYER_IS_VANISHED_CONFIRM, "{vanished}", player.getName()); -289 return null; -290 } -291 } +259 +260 if (!isValidName(name)) { +261 issuer.sendError(MinecraftMessageKeys.IS_NOT_A_VALID_NAME, "{name}", name); +262 return null; +263 } +264 +265 List<Player> matches = Bukkit.getServer().matchPlayer(name); +266 List<Player> confirmList = new ArrayList<>(); +267 findMatches(search, requester, matches, confirmList); +268 +269 +270 if (matches.size() > 1 || confirmList.size() > 1) { +271 String allMatches = matches.stream().map(Player::getName).collect(Collectors.joining(", ")); +272 issuer.sendError(MinecraftMessageKeys.MULTIPLE_PLAYERS_MATCH, +273 "{search}", name, "{all}", allMatches); +274 return null; +275 } +276 +277 //noinspection Duplicates +278 if (matches.isEmpty()) { +279 if (confirmList.isEmpty()) { +280 issuer.sendError(MinecraftMessageKeys.NO_PLAYER_FOUND_SERVER, +281 "{search}", name); +282 return null; +283 } else { +284 Player player = Iterables.getOnlyElement(confirmList); +285 issuer.sendInfo(MinecraftMessageKeys.PLAYER_IS_VANISHED_CONFIRM, "{vanished}", player.getName()); +286 return null; +287 } +288 } +289 +290 return matches.get(0); +291 } 292 -293 return matches.get(0); -294 } -295 -296 private static void findMatches(String search, CommandSender requester, List<Player> matches, List<Player> confirmList) { -297 // Remove vanished players from smart matching. -298 Iterator<Player> iter = matches.iterator(); -299 //noinspection Duplicates -300 while (iter.hasNext()) { -301 Player player = iter.next(); -302 if (requester instanceof Player && !((Player) requester).canSee(player)) { -303 if (requester.hasPermission("acf.seevanish")) { -304 if (!search.endsWith(":confirm")) { -305 confirmList.add(player); -306 iter.remove(); -307 } -308 } else { -309 iter.remove(); -310 } -311 } -312 } -313 } -314 -315 -316 public static boolean isValidName(String name) { -317 return name != null && !name.isEmpty() && ACFPatterns.VALID_NAME_PATTERN.matcher(name).matches(); -318 } -319 -320 static boolean isValidItem(ItemStack item) { -321 return item != null && item.getType() != Material.AIR && item.getAmount() > 0; -322 } -323} +293 private static void findMatches(String search, CommandSender requester, List<Player> matches, List<Player> confirmList) { +294 // Remove vanished players from smart matching. +295 Iterator<Player> iter = matches.iterator(); +296 //noinspection Duplicates +297 while (iter.hasNext()) { +298 Player player = iter.next(); +299 if (requester instanceof Player && !((Player) requester).canSee(player)) { +300 if (requester.hasPermission("acf.seevanish")) { +301 if (!search.endsWith(":confirm")) { +302 confirmList.add(player); +303 iter.remove(); +304 } +305 } else { +306 iter.remove(); +307 } +308 } +309 } +310 } +311 +312 +313 public static boolean isValidName(String name) { +314 return name != null && !name.isEmpty() && ACFPatterns.VALID_NAME_PATTERN.matcher(name).matches(); +315 } +316 +317 static boolean isValidItem(ItemStack item) { +318 return item != null && item.getType() != Material.AIR && item.getAmount() > 0; +319 } +320}