Ir para conteúdo

AutoStart


ExtraPlays

Posts Recomendados

Eae :seu:

Sisteminha de AutoStart que eu utilizava nos meus plugins antigos.

Não sou o criador da classe!!
 

Spoiler

package me.ep.extrasumo.Utils;

import java.util.Calendar;

import org.bukkit.Bukkit;

import me.ep.extrasumo.ExtraSumo;

public class AutoStart {
	
        // Sua classe Principal
	ExtraSumo plugin;
	public AutoStart(ExtraSumo plugin){
		this.plugin = plugin;
	}
	
	private boolean in = false;	
	
	private int getHora(String hora) {	
		return Integer.parseInt(hora);
	}
	
	private int getMinuto(String minuto) {		
		return Integer.parseInt(minuto);
	}
	
	private int getDia(String dia) {
		
		switch (dia.toLowerCase()) {
			case "segunda":
				return 2;
				
			case "terca":
			case "terça":
				return 3;
				
			case "quarta":
				return 4;
				
			case "quinta":
				return 5;
				
			case "sexta":
				return 6;
				
			case "sabado":
				return 7;
				
			case "domingo":
				return 1;	
				
			default:
				return 0;
		}
	}
	
	public void checkTempo() {
		
		try {
			for (String s : plugin.getConfig().getStringList("AutoStart.Horarios")) {
				
				String[] a = s.split("-");
				String dia1;
				String[] horario1 = null;
				
				if (a.length == 2) {
					dia1 = s.split("-")[0];	
					horario1 = s.split("-")[1].split(":");
				} else {
					dia1 = "";
					horario1 = s.split("-")[0].split(":");
				}
				
				final String dia = dia1;
				final String[] horario = horario1;
				
				Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable() {
					
					@Override
					public void run() {
						
						if (Calendar.getInstance().get(7) == getDia(dia) && Calendar.getInstance().get(11) == getHora(horario[0]) && Calendar.getInstance().get(12) == getMinuto(horario[1])) {
                                                        
                                                        // verifica alguma coisa do seu plugin  Ex:
							if (plugin.spawn == null || plugin.saida == null) {
								Bukkit.getLogger().severe("[ExtraSumo] Nao foi possivel iniciar o evento, Locais: entrada, saida e camarote nao foram definidas.");								
								return;
							}
							
							if (!in) {

                                                                // Coloque aqui oque vai ser iniciado automaticamente    Exemplo:
								plugin.getManager().iniciar(plugin.getConfig().getInt("Anuncios"));


								in = true;
							}
						} else if (Calendar.getInstance().get(11) == getHora(horario[0]) && Calendar.getInstance().get(12) == getMinuto(horario[1])) {



                                                        // verifica alguma coisa do seu plugin Ex:
							if (plugin.spawn == null || plugin.saida == null) {
								Bukkit.getLogger().severe("[ExtraSumo] Nao foi possivel iniciar o evento, Locais: entrada, saida e camarote nao foram definidas.");								
								return;
							}
							
							if (!in) {

                                                                // Coloque aqui oque vai ser iniciado automaticamente    Exemplo:

								plugin.getManager().iniciar(plugin.getConfig().getInt("Anuncios"));
								in = true;
							}
						}
					}
				}, 0, 200);
			}
		} catch (Exception e) {
			Bukkit.getConsoleSender().sendMessage("§cErro na configuracao dos horarios.");	
		}
	}
		
		

}

 

 

Na config:

#Configuracoes do autoStart
#Horarios: Coloque 'dia-hora:minuto' caso queira todos os dias coloca apenas 'hora:minuto'
AutoStart:
  Ativar: true
  Horarios:
    - 'sexta-11:10'
    - 'domingo-18:00'


Na Main:

public class Main extends JavaPlugin{

	AutoStart autostart;
		
	@Override
	public void onEnable() {
		
		this.autostart = new AutoStart(this);
		this.autostart.checkTempo();
				
	}
}	


 

 

 

Link para o comentário
Compartilhar em outros sites

Participe da Conversa

Você pode postar agora e se cadastrar mais tarde. Se você tiver uma conta, a class='ipsType_brandedLink' href='https://gamersboard.com.br/login/' data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title='Sign In Now'>acesse agora para postar com sua conta.
Observação: sua postagem exigirá aprovação do moderador antes de ficar visível.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.

Processando...
×
×
  • Criar Novo...