LogoyStore

API

A API fornece uma interface pública para desenvolvedores integrarem seus plugins ao sistema de criptomoedas do yCriptos.

Obtendo a instância da API

A API é exposta através de um BukkitService assim como feito comumente no Vault.

Exemplo:

CryptoAPIHolder cryptoAPI;

try {
  RegisteredServiceProvider<CryptoAPIHolder> rsp = Bukkit.getServer().getServicesManager().getRegistration(CryptoAPIHolder.class);
  return rsp == null ? null : (CryptoAPIHolder)rsp.getProvider();
} catch (Throwable t) {
  return null;
}

Métodos disponíveis

existsCrypto(String key)

Verifica se uma criptomoeda está cadastrada.

boolean exists = cryptoAPI.existsCrypto("bitcoin");

Parâmetros:

  • key - Chave da criptomoeda configurada no plugin.

Retorno:

  • true se a criptomoeda existe, false caso contrário.

getCryptoKeys()

Retorna todas as chaves de criptomoedas cadastradas.

Set<String> keys = cryptoAPI.getCryptoKeys();

Retorno:

  • Set<String> com as chaves das criptomoedas.

getCrypto(String key)

Obtém os dados de uma criptomoeda cadastrada.

CryptoHolder crypto = cryptoAPI.getCrypto("bitcoin");

Parâmetros:

  • key - Chave da criptomoeda.

Retorno:

  • CryptoHolder com os dados da criptomoeda ou null se ela não existir.

getCurrentPrice(String cryptoKey)

Retorna o preço atual de uma criptomoeda.

double price = cryptoAPI.getCurrentPrice("bitcoin");

Parâmetros:

  • cryptoKey - Chave da criptomoeda.

Retorno:

  • Preço atual da criptomoeda.

getPlayerAmount(UUID uuid, String cryptoKey)

Retorna a quantidade que um jogador possui de uma criptomoeda específica.

double amount = cryptoAPI.getPlayerAmount(player.getUniqueId(), "bitcoin");

Parâmetros:

  • uuid - UUID do jogador.
  • cryptoKey - Chave da criptomoeda.

Retorno:

  • Quantidade da criptomoeda na carteira do jogador.

getPlayerPortfolio(UUID uuid)

Retorna a carteira completa de criptomoedas de um jogador.

Map<String, Double> portfolio = cryptoAPI.getPlayerPortfolio(player.getUniqueId());

Parâmetros:

  • uuid - UUID do jogador.

Retorno:

  • Map<String, Double> onde a chave é a criptomoeda e o valor é a quantidade do jogador.

getPlayerPortfolioValue(UUID uuid)

Retorna o valor total da carteira do jogador com base nos preços atuais.

double value = cryptoAPI.getPlayerPortfolioValue(player.getUniqueId());

Parâmetros:

  • uuid - UUID do jogador.

Retorno:

  • Valor total da carteira do jogador.

addCrypto(UUID uuid, String cryptoKey, double amount)

Adiciona uma quantidade de criptomoeda à carteira do jogador.

boolean added = cryptoAPI.addCrypto(player.getUniqueId(), "bitcoin", 0.5);

Parâmetros:

  • uuid - UUID do jogador.
  • cryptoKey - Chave da criptomoeda.
  • amount - Quantidade a adicionar.

Retorno:

  • true se a operação foi aplicada, false caso contrário.

removeCrypto(UUID uuid, String cryptoKey, double amount)

Remove uma quantidade de criptomoeda da carteira do jogador.

boolean removed = cryptoAPI.removeCrypto(player.getUniqueId(), "bitcoin", 0.25);

Parâmetros:

  • uuid - UUID do jogador.
  • cryptoKey - Chave da criptomoeda.
  • amount - Quantidade a remover.

Retorno:

  • true se a operação foi aplicada, false caso contrário.

Estrutura de dados

CryptoHolder

Representa os dados públicos de uma criptomoeda cadastrada.

MétodoDescrição
getKey()Retorna a chave interna da criptomoeda.
getCoingeckoId()Retorna o ID usado para integração com a CoinGecko.
getDisplayName()Retorna o nome exibido da criptomoeda.
setDisplayName(String displayName)Altera o nome exibido da criptomoeda em memória.
getOrder()Retorna a ordem de exibição configurada.
getSellTax()Retorna a taxa de venda da criptomoeda.
setSellTax(double sellTax)Altera a taxa de venda da criptomoeda em memória.

Boas práticas

  • Verifique existsCrypto() antes de consultar ou manipular uma criptomoeda.
  • Valide valores negativos ou zerados antes de chamar addCrypto() ou removeCrypto().
  • Use UUID do jogador para evitar problemas com troca de nick.
  • Evite chamadas muito frequentes em tarefas de curto intervalo, especialmente ao consultar carteiras de muitos jogadores.

Nesta página