Hello, I am coding Double Jump for an OITC server. And I want a cooldown for when people can use the double jump, maybe every 3 seconds, how do i do this? Here is my current code: Code: @EventHandler public void onMove2(PlayerMoveEvent event) { if ((event.getPlayer().getGameMode() != GameMode.CREATIVE) && (event.getPlayer().getLocation().getBlock().getRelative(BlockFace.DOWN).getType() != Material.AIR)) { event.getPlayer().setAllowFlight(true); } } @EventHandler public void onFly(PlayerToggleFlightEvent event) { Player player = event.getPlayer(); if ((player.getGameMode() != GameMode.CREATIVE)) { event.setCancelled(true); player.setAllowFlight(false); player.setFlying(false); event.getPlayer().setVelocity(event.getPlayer().getVelocity().add(new Vector(0,0.40,0))); Vector v = player.getLocation().getDirection().multiply(0.5).setY(0.5); player.setVelocity(v); player.getLocation().getWorld().playSound(player.getLocation(), Sound.BAT_TAKEOFF, 1.0F, -5.0F); } for (Player p : Bukkit.getOnlinePlayers()) { try { ParticleEffects.CLOUD.sendToPlayer(p, player.getLocation(), 1.0F, 1.0F, 1.0F, 1.0F, 40); player.setExp(0.0F); } catch (Exception e) { e.printStackTrace(); } } } Thanks!
maybe declare a boolean, set it to false, and use a bukkit scheduled event to put it to true again after required cooldown time, and make the double jump only be usable while the boolean is true.
Erm, i'm not too sure what you mean, could you sort of put that into code please? I'm a little confused, xD