有没有能获取到当前所有在线玩家的一个方法,如果返回的是一个数组就更好了
 本帖最后由 hemp 于 2019-2-21 14:25 编辑 
复制代码
- List<Player> playerList = Bukkit.getServer().getOnlinePlayers();
 
- Player[] players=playerList.toArray(Player[playerList.size()]);
for (Player p : Bukkit.getServer().getOnlinePlayers()) {
p.sendMessage("你是在线玩家!");
}
p.sendMessage("你是在线玩家!");
}
- Collection<Player> onlinePlayers = Sponge.getServer().getOnlinePlayers();
- List<EntityPlayerMP> onlinePlayers = FMLCommonHandler.instance().getMinecraftServerInstance().getPlayerList().getPlayers();
Forge 版。
    /**
* Get the server all online players
*
* @Return {@link List}
*/
public static List<Player> getOnlinePlayers() {
List<Player> players = Lists.newArrayList();
List<World> worlds = Bukkit.getWorlds();
worlds.forEach(world -> players.addAll(world.getPlayers()));
return players;
}
需要java8
* Get the server all online players
*
* @Return {@link List}
*/
public static List<Player> getOnlinePlayers() {
List<Player> players = Lists.newArrayList();
List<World> worlds = Bukkit.getWorlds();
worlds.forEach(world -> players.addAll(world.getPlayers()));
return players;
}
需要java8