You can simply create a cooldown using the following: 1. We need a list of players which are on the cooldown (I always store the name of the player because when storing the player itself in a hashmap or arraylist, it sometimes glitches) Code:java public static ArrayList<String> playersOnCooldown = new ArrayList<String>(); 2. Add this on top of your plugin: Code:java public effect plugin; public void onLoad(){ plugin = this;} 3. We need to check if the player isn't on a cooldown (place this inside your method) If they are not on a cooldown, we put them on a cooldown Code:java if(playersOnCooldown.contains(p.getName()){ p.sendMessage("You are on a cooldown!");}else{ playersOnCooldown.add(p.getName()); Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable(){ public void run(){ playersOnCooldown.remove(p.getName()); } }, 20*5); //Means 5 seconds (20 ticks = 1 second. 20 * 5 ticks = 5 seconds) //Perform your actions here} 4. Also make sure you player 'final' in front of player p: Code:java final Player p = e.getPlayer();