我在Spigot 1.12.2中创建width
时遇到问题。我目前正在使用ArrayList<Player>
来编译插件,因为它取决于Java 8 version 231
。当我尝试编写此代码时:
Java 8
有错误告诉我为ArrayList<Player> players = new ArrayList<Player>();
for (Player p : players) {
getServer().broadcastMessage(p.getDisplayName + " Is Online!");
}
编译项目。我这样做了,但是在启动服务器时却无法显示CMD中的错误。我已经尝试了几个月,但没有得到。
在JRE 1.5
和JAVA 7
中,我能够使上述代码顺利运行,Spigot 1.5.2
和JAVA 8
升级到Spigot
版本后,很多我不知道的东西。
有人可以帮助我获取在线玩家列表并将其保存到1.12.2
以便我循环播放吗?
答案 0 :(得分:1)
当前编写代码的方式将终止,因为这是一个空列表,并且消息永远不会发送给任何播放器。
Spigot已经具有方法Server#getOnlinePlayers()
,您可以为每个循环使用a进行迭代。
您甚至不需要构造一个新的ArrayList即可
for(Player p : getServer().getOnlinePlayers()) {
// Do stuff
}
希望这会有所帮助!