/** * Move to Message Keys on the CommandIssuer * @deprecated */ @Deprecated public static void sendMsg(CommandSender player, String message) { message = color(message); for (String msg : ACFPatterns.NEWLINE.split(message)) { player.sendMessage(msg); } }
public static String replaceChatString(String message, Pattern replace, String with) { final String[] split = replace.split(message + "1"); if (split.length < 2) { return replace.matcher(message).replaceAll(with); } message = split[0]; for (int i = 1; i < split.length; i++) { final String prev = getLastColors(message); message += with + prev + split[i]; } return message.substring(0, message.length() - 1); }
public static String replaceChatString(String message, String replace, String with) { return replaceChatString(message, Pattern.compile(Pattern.quote(replace), Pattern.CASE_INSENSITIVE), with); }
/** * Please move to the CommandIssuer version * @deprecated */ public static ProxiedPlayer findPlayerSmart(CommandSender requester, String search) { CommandManager manager = CommandManager.getCurrentCommandManager(); if (manager != null) { return findPlayerSmart(manager.getCommandIssuer(requester), search); } throw new IllegalStateException("You may not use the ACFBungeeUtil#findPlayerSmart(CommandSender) async to the command execution."); }
public static String getLastColors(String input) { StringBuilder result = new StringBuilder(); int length = input.length(); // Search backwards from the end as it is faster for (int index = length - 1; index > -1; index--) { char section = input.charAt(index); if (section == COLOR_CHAR && index < length - 1) { char c = input.charAt(index + 1); ChatColor color = ChatColor.getByChar(c); if (color != null) { result.insert(0, color.toString()); // Once we find a color or reset we can stop searching if (isChatColorAColor(color) || color.equals(ChatColor.RESET)) { break; } } } } return result.toString(); }
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); }
registerCompletion("players", c -> { CommandSender sender = c.getSender(); ACFBungeeUtil.validate(sender, "Sender cannot be null"); String input = c.getInput();
BungeeCommandContexts(CommandManager manager) { super(manager); registerContext(OnlineProxiedPlayer.class, (c) -> { ProxiedPlayer proxiedPlayer = ACFBungeeUtil.findPlayerSmart(c.getIssuer(), c.popFirstArg()); if (proxiedPlayer == null) { if (c.hasAnnotation(Optional.class)) {
@Override public void sendMessageInternal(String message) { sender.sendMessage(ACFBungeeUtil.color(message)); }
public static String removeColors(String msg) { return ChatColor.stripColor(color(msg)); }