Ir para conteúdo
  • 0

[Dúvida] Bukkit Runnable


LuizB

Pergunta

Olá, queria saber como faço pra dar um intervalo, em um scheduler.

  Exemplo:

int i =0;
public void run(){
  
  i++;
  if (i==100){
   i=0;
   this.invervalo(20L); // Isso daria um intervalo de 1s pra depois continuar a task
}
   
}.RuntaskTimer(plugin,10,10); 


 

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

Acho que não tem como, seguindo essa lógica é só alterar o this.intervalo por i -= 2; ae vai demorar mais para chegar no 100. Pausar a task não tem como, eu acho.

Link para o comentário
Compartilhar em outros sites

int i = 0;
int delay = 20;
public void run(){
  
  i += 10;
  if (i >= delay){ 
    i = 0;
    delay = 40; // aumenta o delay
    ...
  }
   
}.RuntaskTimer(plugin,10,10); 

?? ou então faz gambiarra :kk:

    private void a(Player player, int count, int delay){
        player.sendMessage("Ola");
        int newCount = count + 1;
        if(newCount == 5) // apenas manda a msg 5 vezes, depois para
            return;
        
        int newDelay = delay + 20; // aumenta o delay em 1s
        
        new BukkitRunnable() {
            @Override
            public void run() {
                a(player, newCount, newDelay);
            }
        }.runTaskLater(this, newDelay);
    }
Editado por zAth
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...