org.bukkit.scoreboard.Team#getPlayers ( )源码实例Demo

下面列出了org.bukkit.scoreboard.Team#getPlayers ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: UHC   文件: TeamAddCommand.java
@Override
protected boolean runCommand(CommandSender sender, OptionSet options) {
    final Team team = teamSpec.value(options);
    final Set<OfflinePlayer> players = Sets.newHashSet(playersSpec.values(options));
    players.removeAll(team.getPlayers());

    for (final OfflinePlayer player : players) {
        team.addPlayer(player);
    }

    final Set<OfflinePlayer> finalTeam = team.getPlayers();

    final String members = finalTeam.size() == 0
            ? ChatColor.DARK_GRAY + "No members"
            : Joiner.on(", ").join(Iterables.transform(team.getPlayers(), FunctionalUtil.PLAYER_NAME_FETCHER));

    sender.sendMessage(messages.evalTemplate(
            "added",
            ImmutableMap.of(
                    "count", players.size(),
                    "players", members
            )
    ));
    return false;
}
 
源代码2 项目: UHC   文件: ClearTeamsCommand.java
@Override
protected boolean runCommand(CommandSender sender, OptionSet options) {
    Collection<Team> teams = teamSpec.values(options);

    if (teams.size() == 0) {
        teams = options.has(allSpec) ? module.getScoreboard().getTeams() : module.getTeams().values();
    }

    int count = 0;
    for (final Team team : teams) {
        for (final OfflinePlayer player : team.getPlayers()) {
            team.removePlayer(player);
            count++;
        }
    }

    sender.sendMessage(messages.evalTemplate("cleared", ImmutableMap.of("teams", teams.size(), "players", count)));
    return true;
}
 
源代码3 项目: UHC   文件: TeamCoordinatesCommand.java
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
    if (!(sender instanceof Player)) {
        sender.sendMessage(messages.getRaw("players only"));
        return true;
    }

    final Player player = (Player) sender;

    final Team team = module.getScoreboard().getPlayerTeam(player);

    if (team == null) {
        sender.sendMessage(messages.getRaw("not in team"));
        return true;
    }

    final Location loc = player.getLocation();
    final Map<String, String> context = ImmutableMap.<String, String>builder()
            .put("name", player.getName())
            .put("display name", player.getDisplayName())
            .put("world", loc.getWorld().getName())
            .put("x", String.valueOf(loc.getBlockX()))
            .put("y", String.valueOf(loc.getBlockY()))
            .put("z", String.valueOf(loc.getBlockZ()))
            .build();

    final String message = messages.evalTemplate("format", context);

    for (final OfflinePlayer p : team.getPlayers()) {
        if (p.isOnline()) {
            p.getPlayer().sendMessage(message);
        }
    }

    return true;
}
 
源代码4 项目: UHC   文件: ListTeamsCommand.java
@Override
protected boolean runCommand(CommandSender sender, OptionSet options) {
    final int page = pageSpec.value(options);
    final boolean emptyOnly = options.has(emptyOnlySpec);
    final boolean showAll = options.has(showAllSpec);

    if (showAll && emptyOnly) {
        sender.sendMessage(ChatColor.RED + "You must provide -e OR -a, you cannot supply both");
        return true;
    }

    final Predicate<Team> predicate;
    final String type;

    if (emptyOnly) {
        type = "(empty teams)";
        predicate = Predicates.not(FunctionalUtil.TEAMS_WITH_PLAYERS);
    } else if (showAll) {
        type = "(all teams)";
        predicate = Predicates.alwaysTrue();
    } else {
        type = "(with players)";
        predicate = FunctionalUtil.TEAMS_WITH_PLAYERS;
    }

    final List<Team> teams = Lists.newArrayList(Iterables.filter(teamModule.getTeams().values(), predicate));

    if (teams.size() == 0) {
        sender.sendMessage(ChatColor.RED + "No results found for query " + type);
        return true;
    }

    final List<List<Team>> partitioned = Lists.partition(teams, COUNT_PER_PAGE);

    if (page > partitioned.size()) {
        sender.sendMessage(ChatColor.RED + "Page " + page + " does not exist");
        return true;
    }

    final List<Team> pageItems = partitioned.get(page - 1);

    final Map<String, Object> context = ImmutableMap.<String, Object>builder()
            .put("page", page)
            .put("pages", partitioned.size())
            .put("type", type)
            .put("count", pageItems.size())
            .put("teams", teams.size())
            .put("multiple", partitioned.size() > 1)
            .build();

    sender.sendMessage(messages.evalTemplate("header", context));

    final Joiner joiner = Joiner.on(", ");
    for (final Team team : pageItems) {
        final String memberString;
        final Set<OfflinePlayer> members = team.getPlayers();

        if (members.size() == 0) {
            memberString = NO_MEMBERS;
        } else {
            memberString = joiner.join(Iterables.transform(team.getPlayers(), FunctionalUtil.PLAYER_NAME_FETCHER));
        }

        sender.sendMessage(
                String.format(FORMAT, team.getPrefix() + team.getDisplayName(), team.getName(), memberString)
        );
    }

    return true;
}