我正在寻找一种方法来为Java中的BankSystem插件创建特定于播放器的倒计时。目前,每个人都在同一时间引起他们的兴趣,因为我使用的是Bukkit调度程序。 Bukkit ....
playersAndTimes.put(player.getUniqueId(), time)
现在,您只需在插件启用在线循环播放每个播放器时运行此功能,如果它们在HashMap中(对它们进行倒计时),它将每秒从其值中删除1:
Bukkit.getScheduler().scheduleSyncRepeatingTask(Main.getPlugin(Main.class), new Runnable() {
@Override
public void run() {
for (Player player : Bukkit.getOnlinePlayers()) {
if (playersAndTimes.containsKey(player.getUniqueId())) {
if (playersAndTimes.get(player.getUniqueId()) >= 1) {
playersAndTimes.put(player.getUniqueId(), playersAndTimes.get(player.getUniqueId()) - 1);
} else {
//The Player's Time Has Expired As The Number Associated With Their UUID In The Hashmap Is Now Equal To 0.
//DO SOMETHING
}
}
}
}
}, 0, 20);