public static String replaceStrings(String string, String... replacements) { if (replacements.length < 2 || replacements.length % 2 != 0) { throw new IllegalArgumentException("Invalid Replacements"); } for (int i = 0; i < replacements.length; i += 2) { String key = replacements[i]; String value = replacements[i+1]; if (value == null) value = ""; string = replace(string, key, value); } return string; } public static String replacePatterns(String string, String... replacements) {
/** * Regex version of {@link #replace(String, String, String)} * @param string * @param pattern * @param repl * @return */ public static String replacePattern(String string, String pattern, String repl) { return replace(string, ACFPatterns.getPattern(pattern), repl); } /**
/** * Plain String replacement. If you need regex patterns, see {@link #replacePattern(String, String, String)} * @param string * @param pattern * @param repl * @return */ public static String replace(String string, String pattern, String repl) { return replace(string, ACFPatterns.getPattern(Pattern.quote(pattern)), repl); }
public static ProxiedPlayer findPlayerSmart(CommandIssuer issuer, String search) { CommandSender requester = issuer.getIssuer(); String name = ACFUtil.replace(search, ":confirm", ""); if (name.length() < 3) { issuer.sendError(MinecraftMessageKeys.USERNAME_TOO_SHORT); return null; } if (!isValidName(name)) { issuer.sendError(MinecraftMessageKeys.IS_NOT_A_VALID_NAME, "{name}", name); return null; } List<ProxiedPlayer> matches = new ArrayList<>(ProxyServer.getInstance().matchPlayer(name)); if (matches.size() > 1) { String allMatches = matches.stream().map(ProxiedPlayer::getName).collect(Collectors.joining(", ")); issuer.sendError(MinecraftMessageKeys.MULTIPLE_PLAYERS_MATCH, "{search}", name, "{all}", allMatches); return null; } if (matches.isEmpty()) { issuer.sendError(MinecraftMessageKeys.NO_PLAYER_FOUND_SERVER, "{search}", name); return null; } return matches.get(0); }
return null; String name = ACFUtil.replace(search, ":confirm", ""); if (name.length() < 3) { issuer.sendError(MinecraftMessageKeys.USERNAME_TOO_SHORT);
return null; String name = ACFUtil.replace(search, ":confirm", "");
this.syntaxText = syntaxStr != null ? ACFUtil.replace(syntaxStr, "@syntax", syntaxText) : syntaxText; this.requiredResolvers = requiredResolvers; this.consumeInputResolvers = consumeInputResolvers;