API
A API fornece uma interface pública para desenvolvedores integrarem seus plugins ao sistema do yFazenda.
Obtendo a instância da API
A API é exposta através de um BukkitService assim como feito comumente no Vault.
Exemplo:
FazendaAPIHolder api;
try {
RegisteredServiceProvider<FazendaAPIHolder> rsp = Bukkit.getServer().getServicesManager().getRegistration(FazendaAPIHolder.class);
return rsp == null ? null : (FazendaAPIHolder)rsp.getProvider();
} catch (Throwable t) {
return null;
}Métodos disponíveis
retrieveFarm(String farm)
Recupera os dados de uma fazenda pelo ID.
FarmHolder farm = api.retrieveFarm("default");Parâmetros:
farm- ID da fazenda
Retorno:
FarmHolderda fazenda
retrievePlayer(String player)
Recupera os dados de fazenda de um jogador.
FarmPlayerHolder data = api.retrievePlayer("Steve");Parâmetros:
player- Nome do jogador
Retorno:
FarmPlayerHolderdo jogador
run(String[] array)
Executa a partir de um array de strings.
api.run(array);Parâmetros:
array- Array de strings
Holders
FarmHolder
| Método | Retorno | Descrição |
|---|---|---|
getKey() | String | ID da fazenda. |
getDisplay() / setDisplay() | String | Nome de exibição. |
getPermission() / setPermission() | String | Permissão para entrar. |
getSpawn() / setSpawn() | String | Local de spawn. |
getExit() / setExit() | String | Local de saída. |
getPos1() / setPos1() | String | Canto 1 da área. |
getPos2() / setPos2() | String | Canto 2 da área. |
getPlants() | List<String> | Posições das plantas. |
isBungeecordEnabled() / setBungeecordEnabled() | boolean | Proxy da fazenda. |
getBungeecordServers() | List<String> | Servidores do proxy. |
FarmPlayerHolder
| Método | Retorno | Descrição |
|---|---|---|
getKey() | String | Chave do jogador. |
getCurrency() / setCurrency() | double | Moedas da fazenda. |
getXp() / setXp() | double | XP atual. |
getLevel() / setLevel() | int | Nível da fazenda. |
getHarvested() / setHarvested() | long | Total colhido. |
getExpansionKey() / setExpansionKey() | String | Expansão atual. |
getCropKey() / setCropKey() | String | Plantação selecionada. |
isPublicFarm() / setPublicFarm() | boolean | Se a fazenda é pública. |
getTaxPercent() / setTaxPercent() | double | Taxa de visitantes. |
getFriends() | List<String> | Lista de amigos. |
getAnimals() | HashMap<String, Integer> | Animais do jogador. |
getProducts() | HashMap<String, Long> | Produtos armazenados. |
getEnchants() | HashMap<String, Integer> | Encantamentos. |
getEnchantDelay() | HashMap<String, Long> | Delay dos encantamentos. |
getBlockedEnchants() | List<String> | Encantamentos filtrados. |
getToolKey() / setToolKey() | String | Enxada selecionada. |
getLastAnimalTick() / setLastAnimalTick() | long | Último tick dos animais. |
getLastProduce() | HashMap<String, Long> | Última produção. |
FarmCropHolder
| Método | Retorno | Descrição |
|---|---|---|
getKey() | String | ID da plantação. |
getDisplay() / setDisplay() | String | Nome de exibição. |
getMaterial() / setMaterial() | String | Bloco maduro. |
getToMaterial() / setToMaterial() | String | Bloco após colher. |
getSeed() / setSeed() | String | Semente. |
getUnlockLevel() / setUnlockLevel() | int | Nível para desbloquear. |
getOrder() / setOrder() | int | Ordem de evolução. |
getChance() / setChance() | double | Peso de aparição. |
getValue() / setValue() | double | Moedas por colheita. |
getXp() / setXp() | double | XP por colheita. |
getGrowTicks() / setGrowTicks() | int | Tempo para nascer. |
getCost() / setCost() | double | Custo. |
getIcon() / setIcon() | ItemStack | Ícone do menu. |
getPrices() | HashMap<String, Double> | Preços. |
FarmEnchantHolder
| Método | Retorno | Descrição |
|---|---|---|
getKey() | String | ID do encantamento. |
getDisplay() / setDisplay() | String | Nome de exibição. |
getType() / setType() | String | Tipo da animação. |
getChat() / setChat() | String | Mensagem de chat ao ativar. |
getTitle() / setTitle() | String | Título ao ativar. |
getActionbar() / setActionbar() | String | Actionbar ao ativar. |
getSound() / setSound() | String | Som ao ativar. |
getOrder() / setOrder() | int | Ordem no menu. |
getUnlockLevel() / setUnlockLevel() | int | Nível para desbloquear. |
getMaxLevel() / setMaxLevel() | int | Nível máximo. |
getChancePerLevel() / setChancePerLevel() | double | Chance por nível. |
getRadius() / setRadius() | int | Raio da área. |
getCost() / setCost() | double | Custo. |
getCostMultiplier() / setCostMultiplier() | double | Multiplicador por nível. |
getDelaySeconds() / setDelaySeconds() | long | Delay entre ativações. |
isAnimation() / setAnimation() | boolean | Se dispara animação. |
getIcon() / setIcon() | ItemStack | Ícone do menu. |
getPricesDefault() | HashMap<String, Double> | Preço inicial. |
getPricesPerLevel() | HashMap<String, Double> | Preço por nível. |
getPricesDisenchanter() | HashMap<String, Double> | Preço do desencantador. |
FarmAnimalHolder
| Método | Retorno | Descrição |
|---|---|---|
getKey() | String | ID do animal. |
getDisplay() / setDisplay() | String | Nome de exibição. |
getUnlockLevel() / setUnlockLevel() | int | Nível para comprar. |
getOrder() / setOrder() | int | Ordem no menu. |
getCost() / setCost() | double | Custo. |
getMaxStack() / setMaxStack() | int | Máximo acumulável. |
getProduceKey() / setProduceKey() | String | ID do produto. |
getProduceDisplay() / setProduceDisplay() | String | Nome do produto. |
getProduceItem() / setProduceItem() | ItemStack | Item ao coletar. |
getProduceValue() / setProduceValue() | double | Valor do produto. |
getProduceAmount() / setProduceAmount() | int | Quantidade por intervalo. |
getIntervalSeconds() / setIntervalSeconds() | int | Intervalo em segundos. |
getIcon() / setIcon() | ItemStack | Ícone do menu. |
getPrices() | HashMap<String, Double> | Preços de compra. |
getProducePrices() | HashMap<String, Double> | Preços de venda. |
FarmToolHolder
| Método | Retorno | Descrição |
|---|---|---|
getKey() | String | ID da enxada. |
getDisplay() / setDisplay() | String | Nome de exibição. |
getOrder() / setOrder() | int | Ordem no menu. |
getUnlockLevel() / setUnlockLevel() | int | Nível para desbloquear. |
getIcon() / setIcon() | ItemStack | Item da enxada. |
getBonusCurrency() / setBonusCurrency() | double | Bônus de moedas. |
getBonusXp() / setBonusXp() | double | Bônus de XP. |
getBonusFortune() / setBonusFortune() | double | Bônus de fortuna. |
getBonusEnchantChance() / setBonusEnchantChance() | double | Bônus de chance de encantamento. |
FarmExpansionHolder
| Método | Retorno | Descrição |
|---|---|---|
getKey() | String | ID da expansão. |
getDisplay() / setDisplay() | String | Nome de exibição. |
getOrder() / setOrder() | int | Ordem de compra. |
getUnlockLevel() / setUnlockLevel() | int | Nível mínimo. |
getCost() / setCost() | double | Custo. |
getPos1() / setPos1() | String | Canto 1. |
getPos2() / setPos2() | String | Canto 2. |
getIcon() / setIcon() | ItemStack | Ícone do menu. |
getFarmKey() / setFarmKey() | String | ID da fazenda. |
getPlants() | List<String> | Plantas da expansão. |
getPrices() | HashMap<String, Double> | Preços. |
FarmEconomyTypeHolder
| Método | Retorno | Descrição |
|---|---|---|
getId() | String | ID da economia. |
getProvider() | String | Provider. |
getDisplay() / setDisplay() | String | Nome de exibição. |
getAbbreviated() / setAbbreviated() | String | Abreviação. |
getSymbol() / setSymbol() | String | Símbolo. |
getPermission() / setPermission() | String | Permissão. |
getItemSettings() / setItemSettings() | ItemStack | Ícone no menu. |
isAllowOffline() / setAllowOffline() | boolean | Transações offline. |
Eventos
PreFazendaHarvestEvent
Disparado antes da colheita. Implementa Cancellable.
@EventHandler
public void onPreHarvest(PreFazendaHarvestEvent event) {
Player player = event.getPlayer();
FarmHolder farm = event.getFarm();
Location location = event.getLocation();
}Métodos:
getPlayer()— jogadorgetFarm()— fazendagetLocation()— local da colheitaisCancelled()/setCancelled(boolean)
FazendaHarvestEvent
Disparado na colheita. Implementa Cancellable.
@EventHandler
public void onHarvest(FazendaHarvestEvent event) {
Player player = event.getPlayer();
FarmCropHolder crop = event.getCrop();
int amount = event.getAmount();
double xp = event.getXp();
}Métodos:
getPlayer()— jogadorgetFarm()— fazendagetCrop()— plantaçãogetLocation()— localgetAmount()— quantidadegetValues()/setValues(HashMap<FarmEconomyTypeHolder, Double>)— valoresgetXp()/setXp(double)— XPisEnchants()/setEnchants(boolean)— encantamentosisCancelled()/setCancelled(boolean)
FazendaActiveEnchantEvent
Disparado ao ativar um encantamento. Implementa Cancellable.
@EventHandler
public void onEnchant(FazendaActiveEnchantEvent event) {
FarmEnchantHolder enchantment = event.getEnchantment();
int count = event.getHarvestedBlockCount();
}Métodos:
getPlayer()— jogadorgetEnchantment()— encantamentogetHarvestedBlocks()— blocos colhidosgetHarvestedBlockCount()— quantidade de blocosisCancelled()/setCancelled(boolean)
FazendaJoinEvent
Disparado ao entrar na fazenda.
@EventHandler
public void onJoin(FazendaJoinEvent event) {
Player player = event.getPlayer();
FarmHolder farm = event.getFarm();
FarmPlayerHolder owner = event.getOwner();
}Métodos:
getPlayer()— jogadorgetFarm()— fazendagetOwner()— dono (FarmPlayerHolder)
FazendaQuitEvent
Disparado ao sair da fazenda.
@EventHandler
public void onQuit(FazendaQuitEvent event) {
Player player = event.getPlayer();
FarmHolder farm = event.getFarm();
FarmPlayerHolder owner = event.getOwner();
}Métodos:
getPlayer()— jogadorgetFarm()— fazendagetOwner()— dono (FarmPlayerHolder)