Crie um  cooldown para cada jogador!


Confira o código:

package br.com.seuplugin;

import java.util.HashMap;

import org.bukkit.Bukkit;
import org.bukkit.plugin.Plugin;

/**Classe para banir temporáriamente um player, baseado no nome do player, e em segundos.
 * @author FabioZumbi12
 *
 */
public class TempBan {

static HashMap<String,Integer> tempban = new HashMap<String,Integer>();


/**Tempbane um player. Use esse método no seu comando.
 * @param p Nome do player
 * @param tempo Tempo do ban em segundos.
 * @param pl instancia do seu plugin.
 * @return true se o player ainda não foi banido e foi banido agora. Ou false se ele ja estava tempbanido.
 */
public static boolean addTempBan(String p, int tempo, Plugin pl){
if (!isTempBanned(p)){
int taskId = runTempban(p, tempo, pl);
tempban.put(p, taskId);
return true;
}
return false;
}

/**Adiciona o player á lista de tempbanidos. Use esse método no seu comando.
 * Irá retornar true se o player ainda não tiver banido, ou false se ja tiver banido. Bom para enviar mensagem dizendo que o player ja ta banido.
 * @param p Nome do player
 * @param pl Instancia do seu plugin.
 * @return true se ja estiver banido e foi desbanido, ou false se o player não estava tempbanido.
 */
public static boolean delTempBan(String p, Plugin pl){
if (isTempBanned(p)){
Bukkit.getScheduler().cancelTask(tempban.get(p));
tempban.remove(p);
return true;
}
return false;
}

private static int runTempban(final String p, int tempo, final Plugin pl){
int taskid = Bukkit.getScheduler().scheduleSyncDelayedTask(pl, new Runnable() { 
public void run() {
if (isTempBanned(p)){
delTempBan(p, pl);
}
} 
},tempo*20);
return taskid;
}


/**Verifica se o player ta banido.
 * Use esse metodo ao player se logar, para impedi-lo de se logar se tiver banido.
 * @param p Nome do player
 * @return true se tiver, false se não tiver banido
 */
public static boolean isTempBanned(String p){
return tempban.containsKey(p);
}
}

Classe Exemplo ( De Uso ) :

 

 @Override
public boolean onCommand(CommandSender sender, Command command,
String label, String[] args) {


// - /comando <player> <tempo>
if (args.length == 2){
TempBan.addTempBan(args[0], Integer.parseInt(args[1], plugin.getInstance()));
}
return true;
}

@EventHandler
public void onPreLogin(AsyncPlayerPreLoginEvent e){
String p = e.getName();
if (TempBan.isTempBanned(p)){
e.setKickMessage("Você esta temporariamente banido!");
e.setLoginResult(Result.KICK_OTHER);
}
}

È isso, As Classes Pode Ser Usada Pra Tempban, Kits e etc ...                                        

  Créditos: FabioZumbi12 

ESTE SITE FOI CRIADO USANDO