API
A API fornece uma interface pública para desenvolvedores integrarem seus plugins ao sistema de almas do yAlmas, permitindo consultar dados de almas dos jogadores.
Obtendo a instância da API
A API é exposta através de um BukkitService assim como feito comumente no Vault.
Exemplo:
AlmasAPIHolder almasAPI;
try {
RegisteredServiceProvider<AlmasAPIHolder> rsp = Bukkit.getServer().getServicesManager().getRegistration(AlmasAPIHolder.class);
return rsp == null ? null : (AlmasAPIHolder)rsp.getProvider();
} catch (Throwable t) {
return null;
}
Métodos disponíveis
retrievePlayer(String playerName)
Recupera os dados de almas de um jogador específico.
PlayerAlmas playerAlmas = almasAPI.retrievePlayer("Steve");Parâmetros:
playerName- Nome do jogador
Retorno:
PlayerAlmascontendo os dados de almas do jogador ounullse não encontrado
Observações:
- Recupera dados em cache do sistema principal
- Retorna
nullse o jogador não possuir dados de almas registrados - O resultado é recuperado diretamente do cache, não do banco de dados
Estrutura de dados
PlayerAlmas
Representa os dados de almas de um jogador.
Propriedades principais:
- Quantidade de almas
- Informações de armazenamento de almas
- Dados associados do jogador
- Histórico de transações de almas
Boas práticas
- Sempre verifique
nullao recuperar dados de um jogador - Use o nome exato do jogador para melhor compatibilidade
- Evite chamadas excessivas em eventos de alta frequência
- Os dados retornados são do cache, não são em tempo real com o banco de dados
Exemplos de uso
Verificando almas de um jogador
PlayerAlmas playerAlmas = almasAPI.retrievePlayer("Steve");
if (playerAlmas != null) {
// Dados de almas do jogador encontrados
// Processe as informações necessárias
}Integrando com sistemas de recompensas
PlayerAlmas playerAlmas = almasAPI.retrievePlayer(player.getName());
if (playerAlmas != null) {
double almasAmount = playerAlmas.getAlmas();
// Usar quantidade de almas em cálculos
}Verificando se jogador possui almas
PlayerAlmas playerData = almasAPI.retrievePlayer("Steve");
if (playerData != null && playerData.getAlmas() > 0) {
// Jogador possui almas
// Executar lógica específica
}