Ir para conteúdo

[Classe] Crie delay de dias, horas, anos, séculos!


Langsdorf

Posts Recomendados

Bom, HORA DO SHOW, não vou explicar tudo, você tem que ter pelo menos o mínimo de conhecimento...

 

Exemplo:
 

        public Cooldown cool;
	
	@Override
	public void onEnable() {
		saveDefaultConfig();
		cool = new Cooldown(getConfig(), new File(getDataFolder(), "config.yml"));
		getServer().getPluginManager().registerEvents(this, this);
	}
	
	@EventHandler
	public void a(PlayerCommandPreprocessEvent e) {
		if (e.getMessage().equalsIgnoreCase("/delay")) {
			if (!cool.temDelay(e.getPlayer().getName())) {//Verificando se ele tem o delay
				cool.addDelay(e.getPlayer().getName());//Adicionando o delay
				e.getPlayer().sendMessage("§eDelay adicionado!");
			} else {
				if (cool.acabouDelay(e.getPlayer().getName(), TimeUnit.DAYS.toMillis(30))) {//Verificando que se o tempo que o delay foi adicionado,  já passou 30 dias
					e.getPlayer().sendMessage("§aAcabou delay!");
					cool.removeDelay(e.getPlayer().getName());//Removendo o delay
				} else {
					e.getPlayer().sendMessage("§cNão acabou o delay, falta §b" + cool.getDelayString(e.getPlayer().getName(), TimeUnit.DAYS.toMillis(30))); //Pegando a string de dias/horas/minutos restantes
				}
			}
			e.setCancelled(true);
		}
	}

Imagens:

 

Hora do meu computador atual:
uaczOBD.png

 

Delay adicionado:

JLgmQS8.png

 

Hora modificada(29 dias):

FloOiSJ.png

 

Tempo restante com a hora modificada:

oaIgjNz.png

 

Hora modificada(30 dias):

dr6d3EH.png

 

Delay finalizado e adicionado novamente:

iFoKN1v.png

 

Download: https://github.com/Langsdorf/Minecraft-UltraCooldown/

 

**Qualquer dúvida comente ai em baixo!**

 

Deixe seu like!

 

Créditos: MrPowerGamerBR, Essentials.

Editado por Foxxx
Link para o comentário
Compartilhar em outros sites

preciza adicionar na plugin.yml o /delay ??

Eu usei o evento para não registrar o comando na plugin.yml, mas você pode criar vários comandos, é só seguir o exemplo, cool.addDelay(....); cool......

 

 

Concerteza vo usar se funfar direitin

`o´

 

Esperar o que? kkk e.e

Qualquer coisa... .-.  Leia as regras, http://gamersboard.com.br/forum/128-regras/

Link para o comentário
Compartilhar em outros sites

public String formatDifferenceStr(long time) {
		if (time == 0) {
			return "never";
		}
		long day = TimeUnit.MILLISECONDS.toDays(time);
		long hours = TimeUnit.MILLISECONDS.toHours(time) - (day * 24);
		long minutes = TimeUnit.MILLISECONDS.toMinutes(time) - (TimeUnit.MILLISECONDS.toHours(time) * 60);
		long seconds = TimeUnit.MILLISECONDS.toSeconds(time) - (TimeUnit.MILLISECONDS.toMinutes(time) * 60);
		StringBuilder sb = new StringBuilder();
		if (day > 0) {
			sb.append(day).append(" ").append(day == 1 ? "dia" : "dias").append(" ");
		}
		if (hours > 0) {
			sb.append(hours).append(" ").append(hours == 1 ? "hora" : "horas").append(" ");
		}
		if (minutes > 0) {
			sb.append(minutes).append(" ").append(minutes == 1 ? "minuto" : "minutos").append(" ");
		}
		if (seconds > 0) {
			sb.append(seconds).append(" ").append(seconds == 1 ? "segundo" : "segundos");
		}
		String diff = sb.toString();
		return diff.isEmpty() ? "agora" : diff;
	}

PERFEITO! Estava precisando disso faz tempo. 

(Tem como converter esse método para anos?)

Link para o comentário
Compartilhar em outros sites

public String formatDifferenceStr(long time) {
		if (time == 0) {
			return "never";
		}
		long day = TimeUnit.MILLISECONDS.toDays(time);
		long hours = TimeUnit.MILLISECONDS.toHours(time) - (day * 24);
		long minutes = TimeUnit.MILLISECONDS.toMinutes(time) - (TimeUnit.MILLISECONDS.toHours(time) * 60);
		long seconds = TimeUnit.MILLISECONDS.toSeconds(time) - (TimeUnit.MILLISECONDS.toMinutes(time) * 60);
		StringBuilder sb = new StringBuilder();
		if (day > 0) {
			sb.append(day).append(" ").append(day == 1 ? "dia" : "dias").append(" ");
		}
		if (hours > 0) {
			sb.append(hours).append(" ").append(hours == 1 ? "hora" : "horas").append(" ");
		}
		if (minutes > 0) {
			sb.append(minutes).append(" ").append(minutes == 1 ? "minuto" : "minutos").append(" ");
		}
		if (seconds > 0) {
			sb.append(seconds).append(" ").append(seconds == 1 ? "segundo" : "segundos");
		}
		String diff = sb.toString();
		return diff.isEmpty() ? "agora" : diff;
	}

PERFEITO! Estava precisando disso faz tempo. 

(Tem como converter esse método para anos?)

 

if(day > 365){} // ?
Link para o comentário
Compartilhar em outros sites

 

Bom, HORA DO SHOW, não vou explicar tudo, você tem que ter pelo menos o mínimo de conhecimento...

 

Exemplo:

 

        public Cooldown cool;
	
	@Override
	public void onEnable() {
		saveDefaultConfig();
		cool = new Cooldown(getConfig(), new File(getDataFolder(), "config.yml"));
		getServer().getPluginManager().registerEvents(this, this);
	}
	
	@EventHandler
	public void a(PlayerCommandPreprocessEvent e) {
		if (e.getMessage().equalsIgnoreCase("/delay")) {
			if (!cool.temDelay(e.getPlayer().getName())) {//Verificando se ele tem o delay
				cool.addDelay(e.getPlayer().getName());//Adicionando o delay
				e.getPlayer().sendMessage("§eDelay adicionado!");
			} else {
				if (cool.acabouDelay(e.getPlayer().getName(), TimeUnit.DAYS.toMillis(30))) {//Verificando que se o tempo que o delay foi adicionado,  já passou 30 dias
					e.getPlayer().sendMessage("§aAcabou delay!");
					cool.removeDelay(e.getPlayer().getName());//Removendo o delay
				} else {
					e.getPlayer().sendMessage("§cNão acabou o delay, falta §b" + cool.getDelayString(e.getPlayer().getName(), TimeUnit.DAYS.toMillis(30))); //Pegando a string de dias/horas/minutos restantes
				}
			}
			e.setCancelled(true);
		}
	}

Imagens:

 

Hora do meu computador atual:

uaczOBD.png

 

Delay adicionado:

JLgmQS8.png

 

Hora modificada(29 dias):

FloOiSJ.png

 

Tempo restante com a hora modificada:

oaIgjNz.png

 

Hora modificada(30 dias):

dr6d3EH.png

 

Delay finalizado e adicionado novamente:

iFoKN1v.png

 

Download: https://github.com/Langsdorf/Minecraft-UltraCooldown/

 

**Qualquer dúvida comente ai em baixo!**

 

Deixe seu like!

 

Créditos: MrPowerGamerBR, Essentials.

 

 

 

Bom, HORA DO SHOW, não vou explicar tudo, você tem que ter pelo menos o mínimo de conhecimento...

 

Exemplo:

 

        public Cooldown cool;
	
	@Override
	public void onEnable() {
		saveDefaultConfig();
		cool = new Cooldown(getConfig(), new File(getDataFolder(), "config.yml"));
		getServer().getPluginManager().registerEvents(this, this);
	}
	
	@EventHandler
	public void a(PlayerCommandPreprocessEvent e) {
		if (e.getMessage().equalsIgnoreCase("/delay")) {
			if (!cool.temDelay(e.getPlayer().getName())) {//Verificando se ele tem o delay
				cool.addDelay(e.getPlayer().getName());//Adicionando o delay
				e.getPlayer().sendMessage("§eDelay adicionado!");
			} else {
				if (cool.acabouDelay(e.getPlayer().getName(), TimeUnit.DAYS.toMillis(30))) {//Verificando que se o tempo que o delay foi adicionado,  já passou 30 dias
					e.getPlayer().sendMessage("§aAcabou delay!");
					cool.removeDelay(e.getPlayer().getName());//Removendo o delay
				} else {
					e.getPlayer().sendMessage("§cNão acabou o delay, falta §b" + cool.getDelayString(e.getPlayer().getName(), TimeUnit.DAYS.toMillis(30))); //Pegando a string de dias/horas/minutos restantes
				}
			}
			e.setCancelled(true);
		}
	}

Imagens:

 

Hora do meu computador atual:

uaczOBD.png

 

Delay adicionado:

JLgmQS8.png

 

Hora modificada(29 dias):

FloOiSJ.png

 

Tempo restante com a hora modificada:

oaIgjNz.png

 

Hora modificada(30 dias):

dr6d3EH.png

 

Delay finalizado e adicionado novamente:

iFoKN1v.png

 

Download: https://github.com/Langsdorf/Minecraft-UltraCooldown/

 

**Qualquer dúvida comente ai em baixo!**

 

Deixe seu like!

 

Créditos: MrPowerGamerBR, Essentials.

 

Onde eu adiciono O Tempo Do Delay ? 

 

Exemplo 1 min 2 min 3 min e etc ?

Link para o comentário
Compartilhar em outros sites

Onde eu adiciono O Tempo Do Delay ? 

 

Exemplo 1 min 2 min 3 min e etc ?

Só olhar o código que ele colocou de exemplo O-o

        cool = new Cooldown(getConfig(), new File(getDataFolder(), "config.yml"));

				cool.addDelay(e.getPlayer().getName());//Adicionando o delay

Link para o comentário
Compartilhar em outros sites

Onde eu adiciono O Tempo Do Delay ? 

 

Exemplo 1 min 2 min 3 min e etc ?

adiciona o delay igual o luigi falou.

 

if (cool.acabouDelay(e.getPlayer().getName(), TimeUnit.DAYS.toMillis(30))) {

 

Esse código verifica se, no tempo em que o delay foi adicionado, já passou 30 dias, ou seja, eu botei o delay no dia 29 e hoje é dia 30, com esse código acima vai ver se ja passou os 30 dias, mas não passou pois ainda falta 29 dias... acho que você entendeu kkjhjk2

Link para o comentário
Compartilhar em outros sites

adiciona o delay igual o luigi falou.

 

if (cool.acabouDelay(e.getPlayer().getName(), TimeUnit.DAYS.toMillis(30))) {

 

Esse código verifica se, no tempo em que o delay foi adicionado, já passou 30 dias, ou seja, eu botei o delay no dia 29 e hoje é dia 30, com esse código acima vai ver se ja passou os 30 dias, mas não passou pois ainda falta 29 dias... acho que você entendeu kkjhjk2

Ah ta, Entendi

 

@EDIT

 

Só acho que vai bugar se adicionar + de um delay Com o nick do player :/

Editado por Cuthmf
Link para o comentário
Compartilhar em outros sites

Toda Vez que O Servidor, o Delay Acaba. 

 

 

Arruma ae pfv

 

é por Causa da hashMap que esta Resetando, se o Foxx quiser eu posso editar pra vc, pra salvar ela na config.

mais que @%&#036;#~&amp;I, não sabem ler códigos? EU USO A @%&#036;#~&amp;I DA MAP PARA  >CACHE<

 

if (map.containsKey(id)) return map.get(id);

 

containsKey containsKeycontainsKeycontainsKeycontainsKeycontainsKeycontainsKeycontainsKey

 

if (fc.contains("Delay." + id)) return fc.getLong("Delay." + id);if (fc.contains("Delay." + id)) return fc.getLong("Delay." + id);

 

 

E EU FALEI QUE TEM QUE TER O MÍNIMO DE CONHECIMENTO, SE VIRA AGORA #*&*&@&*(#

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...