Plugin API

Here you can view the JavaDocs and how to access/use the Player Auctions API

Java Docs

Here you can view the Java Docs here for Player Auctions which provides you all the usages and descriptions of the API.

Maven Repository

Do you want to integrate with Player Auctions in your plugin? You can use the OlzieDev repo to build against the Player Auctions API.

Under repositories in your pom.xml, you need to add a new repository for the repo.

<repositories>
    ...
    <repository>
        <id>olzie-repo</id>
        <url>https://repo.olziedev.com/</url>
    </repository>
</repositories>

Next, add Player Auctions as a dependency under dependencies:

VERSION_HERE would be your exact plugin version, you will not need to update the API version every time a plugin update is out, only when an api update happens.

<dependencies>
    ...
    <dependency>
        <groupId>com.olziedev</groupId>
        <artifactId>playerauctions-api</artifactId>
        <version>VERSION_HERE</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

How to access the API

You can access the Player Auctions API by getting the instance. If the plugin hasn't fully loaded the instance will return null, you can use a callback to access the API when its ready.

/* 
Accessing the instance, can return null if not loaded.

This instance can also change when a plugin reload has 
happened, so its not advisted to use this
*/ 
PlayerAuctionsAPI api = PlayerAuctionsAPI.getInstance(); 

PlayerAuctionsAPI.getInstance(api -> { // accessing the instance when its ready.

});

Some examples

Here is an example on how to create a player auction.

PlayerAuctionsAPI.getInstance(api -> {
        APlayer seller = api.getAuctionPlayer(UUID.randomUUID());
        api.createPlayerAuction(1000,
        1,
        seller,
        api.getExpansionRegistry().getExpansions(AProductProvider.class).stream().filter(x -> x.getClass().equals(ItemProductProvider.class)).findFirst().orElseThrow()
        .setupProduct(1L, seller.getPlayer()),
        false,
        auction -> {
        // the auctioninstance.
        });
});

Here is an example on how to access a auction player by their UUID.

PlayerAuctionsAPI.getInstance(api -> {
    APlayer player = api.getAuctionPlayer(UUID.randomUUID());
    // set all the auctions as expired.
    player.getPlayerAuctions().forEach(auction -> auction.setExpireTime(null, null, false)); 
});

Last updated