API
A API fornece uma interface pública para desenvolvedores integrarem seus plugins ao sistema de planetas do yPlanetas.
Obtendo a instância da API
A API é exposta através de um BukkitService assim como feito comumente no Vault.
Exemplo:
PlanetasAPIHolder api;
try {
RegisteredServiceProvider<PlanetasAPIHolder> rsp = Bukkit.getServer().getServicesManager().getRegistration(PlanetasAPIHolder.class);
return rsp == null ? null : (PlanetasAPIHolder)rsp.getProvider();
} catch (Throwable t) {
return null;
}Ou de forma direta:
PlanetasAPIHolder api = Bukkit.getServicesManager().load(PlanetasAPIHolder.class);
double multi = api.getMultiplier(player, "yMinas");
boolean has = api.hasBenefit(player, "economy");Métodos disponíveis
getMultiplier(player, pluginKey)
Retorna o multiplicador total de benefícios para aquele plugin.
double multi = api.getMultiplier(player, "yMinas");Retorno:
- Multiplicador aplicado (ex.:
1.1para +10%)
getBenefitValue(player, benefitKey)
Retorna a soma percentual do benefício ativo da facção do jogador.
double value = api.getBenefitValue(player, "economy");Retorno:
- Valor percentual do benefício (ex.:
10.0)
hasBenefit(player, benefitKey)
Verifica se a facção do jogador possui o benefício.
boolean has = api.hasBenefit(player, "economy");Retorno:
truese a facção possui o benefício,falsecaso contrário
getActiveBenefits(player)
Retorna a lista de chaves de benefícios ativos da facção do jogador.
List<String> benefits = api.getActiveBenefits(player);Retorno:
- Lista de chaves de benefícios ativos
getPlanetOwner(planetKey)
Retorna a tag da facção dona do planeta.
String owner = api.getPlanetOwner("marte");Retorno:
- Tag da facção dona do planeta
isPlanetOwner(player, planetKey)
Verifica se a facção do jogador é dona daquele planeta.
boolean owner = api.isPlanetOwner(player, "marte");Retorno:
truese a facção do jogador é dona,falsecaso contrário