私はいくつかの魔法の呪文を作成していますが、明らかに各使用の間に遅延が必要です.
現在、google によると、1 秒は 1000000000 ナノ秒です。
ただし、魔法の呪文は 2 秒以内に再充電されます。
@EventHandler
public void onInteract(PlayerInteractEvent e){
Player p = e.getPlayer();
if (p.getItemInHand().getType().equals(Material.BLAZE_ROD)){
{
{
if (!kam.containsKey(p.getName())) kam.put(p.getName(), (long) 0);
if (kam.get(p.getName()) < System.nanoTime()){
kam.remove(p.getName());
kam.put(p.getName(), System.nanoTime() + (1000000000 * 30));
//Do magic spell attack here.
}
}
}else{
p.sendMessage(ChatColor.AQUA + "Skill recharging!");
}
}
明らかに、私のコードはSystem.nanoTime()
プラス 30 秒を追加しようとしており、現在のシステムnanoTime
がハッシュマップに入れたシステムよりも大きいかどうかを確認し、大きい場合は呪文を実行します。