我想让Player Count和max Players像虚拟一样,所以它不一定是正确的数字。我想为max Player Count设置一个虚拟号码我可以使用方法setMaxPlayers(int mxPlayers) from the ServerListPing Event。但是在线玩家怎么样?如果我试图通过插件中的查询来获取玩家,它是否也有效?
感谢您的帮助,抱歉我的英语不好;)
答案 0 :(得分:1)
没有直接通过ServerListPingEvent
设置玩家数量的方法。我不确定为什么他们选择以这种方式实现它。
来自doc:
可以通过迭代此事件来检查和删除显示的玩家。
假设,可以通过编辑该列表来更改那里的玩家(并且它将更新计数)。因此,如果您愿意,可以减少计数(但是,我不确定这是否有用,因为您只能减少数量)。
int wantedCount = 5;
Iterator<Player> itr = event.iterator();
while (event.getNumPlayers() > wantedCount) {
itr.next();
itr.remove();
}
但是,最好的选择是使用ProtocolLib并使用它编辑server list ping packet,而不是尝试使用该事件。
如果我尝试通过插件中的查询来获取玩家,它是否也有效?
我不完全确定你的意思,但如果你的意思是使用Bukkit.getPlayers()
,那就不会使用ServerListPingEvent
,因此对事件的更改不会影响它。