javaExampleAPI

package me.example;

import net.zbrunoc.api.DeathLogAPI;
import net.zbrunoc.api.model.DeathLogEntry;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import java.util.List;
import java.util.UUID;

public class DeathLogExample {

    /**
     * Example method to demonstrate how to fetch and display death data.
     */
    public void displayDeathStatistics(Player requester, String targetName) {

        // 1️⃣ Always check if the API is initialized to avoid IllegalStateException
        if (!DeathLogAPI.isAvailable()) {
            requester.sendMessage("§cError: DeathLogAPI is not initialized yet.");
            return;
        }

        // 2️⃣ Fetch and display the last 10 global deaths
        List<DeathLogEntry> recentDeaths = DeathLogAPI.getRecentDeaths(10);
        requester.sendMessage("§6=== Recent Deaths ===");

        if (recentDeaths.isEmpty()) {
            requester.sendMessage("§7No deaths recorded.");
        } else {
            for (DeathLogEntry death : recentDeaths) {
                requester.sendMessage(String.format("§e%s §7died due to §f%s",
                        death.getVictimName(), death.getCause()));
            }
        }

        // 3️⃣ Fetch deaths for a specific player by UUID
        UUID targetUuid = Bukkit.getOfflinePlayer(targetName).getUniqueId();
        List<DeathLogEntry> playerDeaths = DeathLogAPI.getDeathsByPlayer(targetUuid);

        requester.sendMessage("§6=== Statistics for " + targetName + " ===");
        if (playerDeaths.isEmpty()) {
            requester.sendMessage("§7This player has no recorded deaths.");
        } else {
            for (DeathLogEntry death : playerDeaths) {
                String killer = death.getKillerName() != null ? death.getKillerName() : "Environment";
                requester.sendMessage(String.format("§eVictim: %s §7| §cKiller: %s",
                        death.getVictimName(), killer));
            }
        }
    }
}

Last updated