Skip to content

API • MessageHandler

João Pedro edited this page Jan 3, 2016 · 2 revisions

Trata-se de uma classe feita para nutrir as necessidades diversas que teremos para processar mensagens nas configurações. Além de um excelente sistema de substituição, possui um sistema que permite que o admin (ou você) use mensagens como lista ou como linha única em mensagens.yml.

// Localização da Classe
import br.com.blackhubos.eventozero.handlers.MessageHandler

Utilizando mensagens já existentes

Player player = Bukkit.getPlayer("nome"); // Obtendo jogador desejado
MessageHandler.EVENTO_ENTROU.sendMessage(player, "evento : Spleef", "jogadores : 14", ...);
// Note os : nas substituições (antes = KEY, depois = VALOR)
// {evento} seria substituído por Spleef e {jogadores} por 14.

Note que na configuração, poderia ser:

EVENTO_ENTROU:
  - linha 1... {evento}...{jogadores}
  - linha 2... {evento}...{jogadores}

Como poderia ser:

EVENTO_ENTROU: '...{evento}...{jogadores}'

Ambos os dois métodos podem ser usados, a única coisa que muda, é que no primeiro exemplo, mais de uma linha será mostrada, e no segundo, apenas uma linha. Isto é mais um modo de customização para os administradores dos servidores.

Criando suas próprias

Se você tem um plugin que usa nossa API, e gostaria de adicionar uma mensagem na mensagens.yml que suporte nosso sistema, não é difícil.

// Estrutura: EventoZero.getMessageService().addCustomMessage(Plugin, String, String);
// Retorna um ID único (apenas para identificação geral, você pode usar a key)
UUID messageId = EventoZero.getMessageService().addCustomMessage(this, "MENSAGEM_CUSTOM_KEY", "&7Mensagem padrão caso o cara delete da config, seu nick é {nome}");

E depois, nas suas classes...:

Player player = ...;
MessageHandler.getLiteral("MENSAGEM_CUSTOM_KEY").sendMessage(player, "nome : Atom");
// Substituiria {nome} por 'Atom'.

Notas

As mensagens são colorizadas automaticamente pela substituição do código '&', seja se você usar pela configuração ou pela própria API. Portanto, não se preocupe com isso.

Clone this wiki locally