💜
LiteSkullAPI
Fast and extensive skull library for Bukkit/Spigot/Paper plugins.
Helpful links:
❤️
Eternal Repository (Maven or Gradle) <repository>
<id>eternal-repositoryid>
<url>https://repo.eternalcode.pl/releasesurl>
repository>
maven { url "https://repo.eternalcode.pl/releases" }
Dependencies (Maven or Gradle)
Framework Core
<dependency>
<groupId>dev.rollczigroupId>
<artifactId>liteskullapiartifactId>
<version>1.0.5version>
dependency>
implementation 'dev.rollczi:liteskullapi:1.0.5'
How use LiteSkullAPI?
public final class ExamplePlugin extends JavaPlugin {
private SkullAPI skullAPI;
@Override
public void onEnable() {
this.skullAPI = LiteSkullFactory.builder()
.cacheExpireAfterWrite(Duration.ofMinutes(45L))
.bukkitScheduler(this)
.build();
}
}
Accept synchronous with Minecraft Server
Lambda will be run in the server sync task (see .bukkitScheduler()
or .scheduler()
)
// you can use this item when skull will be found (synchronous)
skullAPI.acceptSyncSkull("Rollczi", itemStack -> {
player.getInventory().addItem(itemStack);
});
skullAPI.acceptSyncSkullData("Rollczi", skullData -> {
String value = skullData.getValue();
String signature = skullData.getSignature();
});
Accept asynchronous
// you can use this item when skull will be found (asynchronous)
skullAPI.acceptAsyncSkull("Rollczi", itemStack -> {
itemStack
// some code
});
skullAPI.acceptAsyncSkullData("Rollczi", skullData -> {
String value = skullData.getValue(); // texture value
String signature = skullData.getSignature(); // texture signature
});
CompletableFuture
// you can get completable future with skull item CompletableFuture<ItemStack> completableFuture = skullAPI.getSkull("Rollczi"); completableFuture.thenAcceptAsync(itemStack -> { itemStack // some code }); // you can get completable future with skull data CompletableFuture<SkullData> completableFuture = skullAPI.getSkullData("Rollczi"); completableFuture.thenAcceptAsync(skullData -> { String value = skullData.getValue(); // texture value String signature = skullData.getSignature(); // texture signature });
⚠️
Blocking)
Await for skull (ItemStack itemStack = skullAPI.awaitForSkull("Rollczi", 10, TimeUnit.SECONDS);
SkullData skullData = skullAPI.awaitForSkullData("Rollczi", 10, TimeUnit.SECONDS);