API
A API fornece uma interface pública para desenvolvedores integrarem seus plugins ao sistema de torneios do yTorneios, permitindo adicionar pontos a jogadores em eventos específicos.
Obtendo a instância da API
A API é exposta através de um BukkitService assim como feito comumente no Vault.
Exemplo:
TorneioAPIHolder torneioAPI;
try {
RegisteredServiceProvider<TorneioAPIHolder> rsp = Bukkit.getServer().getServicesManager().getRegistration(TorneioAPIHolder.class);
return rsp == null ? null : (TorneioAPIHolder)rsp.getProvider();
} catch (Throwable t) {
return null;
}
Métodos disponíveis
sum(String eventType, Player player, double amount)
Adiciona pontos a um jogador em um torneio específico baseado no tipo de evento.
torneioAPI.sum("farm", player, 100.0);Parâmetros:
eventType- Tipo de evento do torneio (ex: "farm", "mine", "fish")player- Objeto Player do Bukkitamount- Quantidade de pontos a adicionar
Observações:
- Apenas aplica a torneios ativos (em execução)
- A operação é realizada em todos os torneios que correspondem ao tipo de evento
sum(String eventType, String playerName, double amount)
Adiciona pontos a um jogador em um torneio específico baseado no tipo de evento usando nome do jogador.
torneioAPI.sum("mine", "Steve", 50.0);Parâmetros:
eventType- Tipo de evento do torneio (ex: "farm", "mine", "fish")playerName- Nome do jogadoramount- Quantidade de pontos a adicionar
Observações:
- Útil quando você possui apenas o nome do jogador
- Apenas aplica a torneios ativos (em execução)
- Case-insensitive para tipo de evento
Boas práticas
- Sempre verifique se o tipo de evento está correto
- Use
sum(Player player, double amount)quando tiver acesso ao objeto Player - Evite chamadas excessivas em eventos de alta frequência
- Apenas torneios em execução receberão os pontos adicionados
Exemplos de uso
Adicionando pontos ao colher crops
if (event instanceof BlockBreakEvent) {
Player player = ((BlockBreakEvent) event).getPlayer();
torneioAPI.sum("farm", player, 10.0);
}Adicionando pontos ao minerar
torneioAPI.sum("mine", playerName, 5.0);Adicionando pontos ao pescar
torneioAPI.sum("fish", player, 15.0);