Preva1l is a dev
Preva1l is a dev
  • Finally a Decent Developer? (jokes, im alright though!)
  • Fadah
    • Fadah
    • Setup
      • Database
      • Multi Server
      • Blacklists
    • Commands & Permissions
    • Developer API
      • Accessing & Using Data
      • Events
      • Adding a Economy Hook
  • Dungeons Terminals
    • Dungeons Terminals
  • Fadsb
    • Fadsb
Powered by GitBook
On this page
  • Getting Started
  • Listing Data
Edit on GitHub
  1. Fadah
  2. Developer API

Accessing & Using Data

Access data using the API.

Getting Started

You will first need to get the instance of the Fadah API.

import org.bukkit.Bukkit;
import org.bukkit.plugin.java.JavaPlugin;
import info.preva1l.fadah.api.AuctionHouseAPI;

public final class FadahAPIExample extends JavaPlugin {
    private AuctionHouseAPI fadahApi;

    @Override
    public void onEnable() {
        if (Bukkit.getPluginManager().getPlugin("Fadah") != null) {
            fadahApi = AuctionHouseAPI.getInstance();
        }
    }
}

Listing Data

Now that you have an instance of the Fadah API we can now access the ListingManager class

import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.Material
import org.bukkit.inventory.ItemStack
import org.bukkit.plugin.java.JavaPlugin;

import info.preva1l.fadah.api.AuctionHouseAPI;
import info.preva1l.fadah.api.managers.ListingManager;
import info.preva1l.fadah.records.listing.Listing;
import info.preva1l.fadah.records.listing.ListingBuilder;
import info.preva1l.fadah.currency.CurrencyRegistry;

import java.util.List;

public final class FadahAPIExample extends JavaPlugin {
    @Override
    public void onEnable() {
        ListingManager manager = AuctionHouseAPI.getInstance().listingManager();
        
        // Getting listings
        List<Listing> listings = manager.all();
        
        // Creating a listing
        Currency currency = CurrencyRegistry.getAll().getFirst();
        Player player = Bukkit.getPlayer("Preva1l");
        ItemStack item = player.getInventory().getItemInMainHand();
        player.getInventory().setItemInMainHand(new ItemStack(Material.AIR));
        manager.listingBuilder(player)
                .price(4_500_000) // 4.5 Million
                .tax(3.5) // This is a percentage, so 3.5%, the default is 0%
                .currency(currency) // By default this is the same as what we have it
                .length(2 * 60 * 60 * 1000) // 2 Hours, this is also a default value
                .itemStack(item)
                .biddable(false) // this is false by default, bidding is still W.I.P.
                .toPost() // theres alot more options you can change in this section
                .postAdvert(true)
                .buildAndSubmit().thenAccept(result -> {
                    if (!result.successful()) {
                        player.sendMessage(
                            "Failed to post listing! " + result.message()
                        );
                        player.getInventory().setItemInMainHand(item);
                        return;
                    }
                    
                    player.sendMessage("Listing Posted!");
                });
    }
}

Last updated 2 months ago