我将PlayerDeathEvent中的方法保存到以下每个yml文件中:
*玩家杀死(每次玩家死亡,它都会杀死杀手的文件)
*玩家死亡(与上述相同,但在死亡文件中加入死亡)
但我需要一种方法来检查所有文件以搜索五个顶级玩家以获得最高"杀死"值,我认为每次输入命令时检查每个文件都会很重。
有没有更好的方法来检查谁是最高的玩家"杀死"?
如果需要进一步澄清问题,请告诉我们!
答案 0 :(得分:1)
最好的方法是创建一个新的类,它将包含玩家的所有数据(玩家的UUID,他的杀戮等),并保持你的玩家的统计数据在config.yml
中保存为List<PlayerKills>
,并在服务器运行时保持加载状态。然后,在需要时,浏览列表的每个实例,并按其杀戮量收集前5个。
以下是一个例子:
public class PlayerKills {
private UUID playerUUID;
private int kills;
public PlayerKills(UUID uuid) {
this.playerUUID = uuid;
}
public void addkill() {
this.kills++;
}
public int getKills() {
return this.kills;
}
}
另一种方法是使用MySQL数据库,并使用简单的SQL查询收集前5名玩家。这有利于跨服务器网络工作,但缺点是它需要外部插件/库和MySQL数据库。