Ir para conteúdo
  • 0

Cooldown


KolM

Pergunta

9 respostass a esta questão

Posts Recomendados

Cara vc Colcou errado quero que quando ela use o comando fale exemplo: falta 3 minutos pra usa esse comandos "dps de 2 minutos" falta 1 minuto pra usar esse comando 

private HashMap<String, Long> cooldowns = new HashMap<>();
    Long delay = TimeUnit.MINUTES.toMillis(5); // cooldown de 5 minutos
    
    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if (command.getName().equalsIgnoreCase("sb")) {
            if (cooldowns.keySet().contains(sender.getName().toLowerCase())) {
                if (cooldowns.get(sender.getName().toLowerCase()) > System.currentTimeMillis()) {
                    int minutesRemaining = TimeUnit.MILLIS.toMinutes(System.currentTimeMillis() - cooldowns.get(sender.getName().toLowerCase()));
                    sender.sendMessage("Falta " + minutesRemaining + "minutos");
                    return true;
                }
                cooldowns.put(sender.getName().toLowerCase(), System.currentTimeMillis() + delay);
            }
            cooldowns.put(sender.getName().toLowerCase(), System.currentTimeMillis() + delay);
            
            ((Player) sender).teleport(getServer().getWorld("skyblock").getSpawnLocation());
        }
        return false;
    }

Link para o comentário
Compartilhar em outros sites

private HashMap<String, Long> cooldowns = new HashMap<>();
    Long delay = TimeUnit.SECONDS.toMillis(5); // cooldown de 5 segundos
    
    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if (command.getName().equalsIgnoreCase("sb")) {
            if (cooldowns.keySet().contains(sender.getName().toLowerCase())) {
                if (cooldowns.get(sender.getName().toLowerCase()) > System.currentTimeMillis()) {
                    sender.sendMessage("Está em cooldown");
                    return true;
                }
                cooldowns.put(sender.getName().toLowerCase(), System.currentTimeMillis() + delay);
            }
            cooldowns.put(sender.getName().toLowerCase(), System.currentTimeMillis() + delay);
            
            ((Player) sender).teleport(getServer().getWorld("skyblock").getSpawnLocation());
        }
        return false;
    }

Exemplo com um comando.. só precisa da hash, do delay e dessa parte

            if (cooldowns.keySet().contains(sender.getName().toLowerCase())) {
                if (cooldowns.get(sender.getName().toLowerCase()) > System.currentTimeMillis()) {
                    sender.sendMessage("Está em cooldown");
                    return true;
                }
                cooldowns.put(sender.getName().toLowerCase(), System.currentTimeMillis() + delay);
            }
            cooldowns.put(sender.getName().toLowerCase(), System.currentTimeMillis() + delay);
Link para o comentário
Compartilhar em outros sites

private HashMap<String, Long> cooldowns = new HashMap<>();
    Long delay = TimeUnit.SECONDS.toMillis(5); // cooldown de 5 segundos
    
    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if (command.getName().equalsIgnoreCase("sb")) {
            if (cooldowns.keySet().contains(sender.getName().toLowerCase())) {
                if (cooldowns.get(sender.getName().toLowerCase()) > System.currentTimeMillis()) {
                    sender.sendMessage("Está em cooldown");
                    return true;
                }
                cooldowns.put(sender.getName().toLowerCase(), System.currentTimeMillis() + delay);
            }
            cooldowns.put(sender.getName().toLowerCase(), System.currentTimeMillis() + delay);
            
            ((Player) sender).teleport(getServer().getWorld("skyblock").getSpawnLocation());
        }
        return false;
    }

Exemplo com um comando.. só precisa da hash, do delay e dessa parte

            if (cooldowns.keySet().contains(sender.getName().toLowerCase())) {
                if (cooldowns.get(sender.getName().toLowerCase()) > System.currentTimeMillis()) {
                    sender.sendMessage("Está em cooldown");
                    return true;
                }
                cooldowns.put(sender.getName().toLowerCase(), System.currentTimeMillis() + delay);
            }
            cooldowns.put(sender.getName().toLowerCase(), System.currentTimeMillis() + delay);

Onde Coloca o Tempo De Delay ? 

Link para o comentário
Compartilhar em outros sites


    Long delay = TimeUnit.SECONDS.toMillis(5); // cooldown de 5 segundos

Se quiser 5 minutos


    Long delay = TimeUnit.MINUTES.toMillis(5); // cooldown de 5 minutos

Cara vc Colcou errado quero que quando ela use o comando fale exemplo: falta 3 minutos pra usa esse comandos "dps de 2 minutos" falta 1 minuto pra usar esse comando 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
  • Quem está navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...