LogoyStore

API

A API fornece uma interface pública para desenvolvedores integrarem seus plugins ao sistema de pets do yPets, permitindo consultar pets equipados, obter bônus acumulados e trabalhar com dados de pets de jogadores.

Obtendo a instância da API

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

Exemplo:

PetAPIHolder petAPI;

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

Métodos disponíveis

getPlayerPet(Player player)

Obtém o pet principal do jogador.

PetHolder pet = petAPI.getPlayerPet(player);

Retorno:

  • PetHolder ou null se o jogador não possuir pet ativo.

getPlayerPets(Player player)

Retorna a lista de pets equipados pelo jogador.

List<PetHolder> pets = petAPI.getPlayerPets(player);

Observações:

  • Em servidores não principais, retorna apenas o último pet usado
  • Em servidores principais, retorna todos os pets equipados

getTotalBonus(Player player, String bonusType)

Calcula o bônus total acumulado de todos os pets equipados do jogador para um tipo específico.

double bonus = petAPI.getTotalBonus(player, "farm");

Tipos de bônus suportados:

  • spawners
  • machines
  • mines
  • storage
  • farm
  • forest
  • sell
  • fish
  • almas
  • discount_spawners
  • discount_machines

O valor retornado representa porcentagem (%).


getTotalBonusMultiplier(Player player, String bonusType)

Retorna o multiplicador final baseado no bônus total.

double multiplier = petAPI.getTotalBonusMultiplier(player, "farm");

Exemplo:

  • Bônus total: 20
  • Retorno: 1.20

Estrutura de dados

PetHolder

Representa um pet do jogador.

Principais propriedades:

  • Tipo do pet
  • Tier
  • Nível
  • Experiência
  • Dono

TierHolder

Define os bônus base e bônus por nível de cada tier do pet.

Cada bônus segue a fórmula:

bonus_total = bonus_base + (bonus_por_nivel * nivel)

Exemplos de uso

Aplicando bônus em uma venda

double multiplier = petAPI.getTotalBonusMultiplier(player, "sell");
double finalValue = baseValue * multiplier;

Verificando se o jogador possui pets ativos

if (!petAPI.getPlayerPets(player).isEmpty()) {
    // jogador possui pets
}

Nesta página