如何保存最多杀死bukkit的玩家

时间:2014-12-17 05:43:50

标签: java minecraft bukkit

我将PlayerDeathEvent中的方法保存到以下每个yml文件中:

*玩家杀死(每次玩家死亡,它都会杀死杀手的文件)

*玩家死亡(与上述相同,但在死亡文件中加入死亡)

但我需要一种方法来检查所有文件以搜索五个顶级玩家以获得最高"杀死"值,我认为每次输入命令时检查每个文件都会很重。

有没有更好的方法来检查谁是最高的玩家"杀死"?

如果需要进一步澄清问题,请告诉我们!

1 个答案:

答案 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数据库。