API
A API fornece uma interface pública para desenvolvedores integrarem seus plugins ao sistema de pontos do yPoints.
Obtendo a instância da API
A API é exposta através de um BukkitService assim como feito comumente no Vault.
Exemplo:
PointAPIHolder pointAPI;
try {
RegisteredServiceProvider<PointAPIHolder> rsp = Bukkit.getServer().getServicesManager().getRegistration(PointAPIHolder.class);
return rsp == null ? null : (PointAPIHolder)rsp.getProvider();
} catch (Throwable t) {
return null;
}Métodos disponíveis
hasAccount(String player)
Verifica se um jogador possui conta no sistema de pontos.
boolean hasAccount = pointAPI.hasAccount("Steve");Parâmetros:
player- Nome do jogador.
Retorno:
truese o jogador possui conta,falsecaso contrário.
getBalance(String player)
Retorna o saldo de pontos de um jogador.
double balance = pointAPI.getBalance("Steve");Parâmetros:
player- Nome do jogador.
Retorno:
- Saldo atual de pontos do jogador.
set(String player, double amount)
Define o saldo de pontos de um jogador.
pointAPI.set("Steve", 1000.0);Parâmetros:
player- Nome do jogador.amount- Novo saldo de pontos.
has(String player, double amount)
Verifica se um jogador possui pelo menos a quantidade informada de pontos.
boolean hasPoints = pointAPI.has("Steve", 500.0);Parâmetros:
player- Nome do jogador.amount- Quantidade mínima necessária.
Retorno:
truese o jogador possui pontos suficientes,falsecaso contrário.
withdraw(String player, double amount, boolean apply)
Remove pontos de um jogador.
pointAPI.withdraw("Steve", 250.0, true);Parâmetros:
player- Nome do jogador.amount- Quantidade de pontos a remover.apply- Define se a operação deve ser aplicada de fato.
deposit(String player, double amount, boolean apply)
Adiciona pontos para um jogador.
pointAPI.deposit("Steve", 250.0, true);Parâmetros:
player- Nome do jogador.amount- Quantidade de pontos a adicionar.apply- Define se a operação deve ser aplicada de fato.
Boas práticas
- Verifique
hasAccount()antes de realizar operações em jogadores específicos. - Use
has()antes de remover pontos em lojas, recompensas ou sistemas de compra. - Valide valores negativos ou zerados antes de usar
set(),withdraw()oudeposit(). - Use
apply: falseapenas quando precisar simular ou validar uma operação sem aplicar a alteração.