Ir para conteúdo
  • 0

[Bukkit] Broadcast a cada 60 segundos


FelipeDye

Pergunta

Bom, estou fazendo um plugin de auto mensagem. (que a cada 60 segundos manda um broadcast, irei criar mensagens personalizadas, com espaços personalizados... etc) 


OBS: Não quero em random.


 


Queria saber como eu poderia fazer isto, se alguém puder me ajudar irei agradecer.


Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

private List<String> messages;

public void onEnable() {
this.saveDefaultConfig();
this.messages = (List<String>)this.getConfig().getStringList("messages");
new BukkitRunnable() {
            int i = 0;
            
            public void run() {
                Bukkit.broadcastMessage(Main.this.messages.get(this.i).replaceAll("&", "§"));
                ++this.i;
                if (this.i >= Main.this.messages.size()) {
                    this.i = 0;
                }
            }
        }.runTaskTimer((Plugin)this, 100L, 20L * this.getConfig().getInt("tempo_mensagem")); # Tempo em segundos entre cada mensagem
    }
public static Main getPlugin() {
        return (Main)Bukkit.getPluginManager().getPlugin("Main");
    }
}

Te dei o codigo todo de graça ... bom proveito

Link para o comentário
Compartilhar em outros sites

  • 0

Você pode fazer usando a interface BukkitRunnable para determinar um método que será chamado a cada ticks.

Não sei como você pretende pegar as mensagens(via config.yml, escrito no próprio código) então você implementa isso.

 

Vou deixar aqui o link da documentação, recomendo que você leia. (LINK)

new BukkitRunnable() {
	
	@Override
	public void run() {
		// Seu método para pegar a mensagem
		String message = ...

		Bukkit.broadcastMessage(message);
	}

}.runTaskTimer(plugin, 20L, 20L);
Editado por Out of Orbit
Link para o comentário
Compartilhar em outros sites

  • 0

 

Você pode fazer usando a interface BukkitRunnable para determinar um método que será chamado a cada ticks.

Não sei como você pretende pegar as mensagens(via config.yml, escrito no próprio código) então você implementa isso.

 

Vou deixar aqui o link da documentação, recomendo que você leia. (LINK)

new BukkitRunnable() {
	
	@Override
	public void run() {
		// Seu método para pegar a mensagem
		String message = ...

		Bukkit.broadcastMessage(message);
	}

}.runTaskTimer(plugin, 20L, 20L);

No caso eu iria fazer no própio código. 

Link para o comentário
Compartilhar em outros sites

  • 0

private List<String> messages;

public void onEnable() {
this.saveDefaultConfig();
this.messages = (List<String>)this.getConfig().getStringList("messages");
new BukkitRunnable() {
            int i = 0;
            
            public void run() {
                Bukkit.broadcastMessage(Main.this.messages.get(this.i).replaceAll("&", "§"));
                ++this.i;
                if (this.i >= Main.this.messages.size()) {
                    this.i = 0;
                }
            }
        }.runTaskTimer((Plugin)this, 100L, 20L * this.getConfig().getInt("tempo_mensagem")); # Tempo em segundos entre cada mensagem
    }
public static Main getPlugin() {
        return (Main)Bukkit.getPluginManager().getPlugin("Main");
    }
}

Te dei o codigo todo de graça ... bom proveito

 

Pra quê esse tanto de cast desnecessário men

 

 

 

No caso eu iria fazer no própio código. 

 

Você pode fazer uma lista

List<String> list = Arrays.asList("Mensagem 1", "Mensagem 2", "Mensagem 3");

E usar a mesma lógica que o WhiteDev_ fez acima, mas não com esses casts ae 

Link para o comentário
Compartilhar em outros sites

  • 0

Pra quê esse tanto de cast desnecessário men

 

 

Você pode fazer uma lista

List<String> list = Arrays.asList("Mensagem 1", "Mensagem 2", "Mensagem 3");

E usar a mesma lógica que o WhiteDev_ fez acima, mas não com esses casts ae 

Peguei esse codigo de um pl antigo q tinha aq

Link para o comentário
Compartilhar em outros sites

  • 0

<p style="text-align:center;"><img alt="logo-forum.png" src="http://www.gamersboard.com.br/logo-forum.png"/></p><br /></br><br /></br><br />Sua dúvida foi marcada como [Resolvido] e movido à área de dúvidas resolvidas.</br><br /></br><br /></br><br />Atenciosamente,</br><br />Gamer's Board</br>

Link para o comentário
Compartilhar em outros sites

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