Search in sources :

Example 1 with AbstractDatabaseStatInformation

use of com.ebicep.warlords.database.repositories.player.pojos.AbstractDatabaseStatInformation in project Warlords by ebicep.

the class LeaderboardGeneral method addExtraLeaderboards.

@Override
public void addExtraLeaderboards(LeaderboardCategory<AbstractDatabaseStatInformation> leaderboardCategory) {
    List<Leaderboard> leaderboards = leaderboardCategory.getLeaderboards();
    Class<?> databasePlayerClass = leaderboardCategory.statFunction.apply(new DatabasePlayer()).getClass();
    if (DatabasePlayer.class.equals(databasePlayerClass)) {
        leaderboards.add(new Leaderboard("Mage Experience", new Location(world, -2523.5, 58, 734.5), databasePlayer -> applyAndCast(leaderboardCategory, databasePlayer, DatabasePlayer.class).getMage().getExperience(), databasePlayer -> NumberFormat.addCommaAndRound(applyAndCast(leaderboardCategory, databasePlayer, DatabasePlayer.class).getMage().getExperience())));
        leaderboards.add(new Leaderboard("Warrior Experience", new Location(world, -2520.5, 58, 739.5), databasePlayer -> applyAndCast(leaderboardCategory, databasePlayer, DatabasePlayer.class).getWarrior().getExperience(), databasePlayer -> NumberFormat.addCommaAndRound(applyAndCast(leaderboardCategory, databasePlayer, DatabasePlayer.class).getWarrior().getExperience())));
        leaderboards.add(new Leaderboard("Paladin Experience", new Location(world, -2516.5, 58, 744.5), databasePlayer -> applyAndCast(leaderboardCategory, databasePlayer, DatabasePlayer.class).getPaladin().getExperience(), databasePlayer -> NumberFormat.addCommaAndRound(applyAndCast(leaderboardCategory, databasePlayer, DatabasePlayer.class).getPaladin().getExperience())));
        leaderboards.add(new Leaderboard("Shaman Experience", new Location(world, -2520.5, 58, 749.5), databasePlayer -> applyAndCast(leaderboardCategory, databasePlayer, DatabasePlayer.class).getShaman().getExperience(), databasePlayer -> NumberFormat.addCommaAndRound(applyAndCast(leaderboardCategory, databasePlayer, DatabasePlayer.class).getShaman().getExperience())));
        leaderboards.add(new Leaderboard("Rogue Experience", new Location(world, -2523.5, 58, 754.5), databasePlayer -> applyAndCast(leaderboardCategory, databasePlayer, DatabasePlayer.class).getRogue().getExperience(), databasePlayer -> NumberFormat.addCommaAndRound(applyAndCast(leaderboardCategory, databasePlayer, DatabasePlayer.class).getRogue().getExperience())));
    } else if (DatabasePlayerCompStats.class.equals(databasePlayerClass)) {
        leaderboards.add(new Leaderboard("Mage Experience", new Location(world, -2523.5, 58, 734.5), databasePlayer -> applyAndCast(leaderboardCategory, databasePlayer, DatabasePlayerCompStats.class).getMage().getExperience(), databasePlayer -> NumberFormat.addCommaAndRound(applyAndCast(leaderboardCategory, databasePlayer, DatabasePlayerCompStats.class).getMage().getExperience())));
        leaderboards.add(new Leaderboard("Warrior Experience", new Location(world, -2520.5, 58, 739.5), databasePlayer -> applyAndCast(leaderboardCategory, databasePlayer, DatabasePlayerCompStats.class).getWarrior().getExperience(), databasePlayer -> NumberFormat.addCommaAndRound(applyAndCast(leaderboardCategory, databasePlayer, DatabasePlayerCompStats.class).getWarrior().getExperience())));
        leaderboards.add(new Leaderboard("Paladin Experience", new Location(world, -2516.5, 58, 744.5), databasePlayer -> applyAndCast(leaderboardCategory, databasePlayer, DatabasePlayerCompStats.class).getPaladin().getExperience(), databasePlayer -> NumberFormat.addCommaAndRound(applyAndCast(leaderboardCategory, databasePlayer, DatabasePlayerCompStats.class).getPaladin().getExperience())));
        leaderboards.add(new Leaderboard("Shaman Experience", new Location(world, -2520.5, 58, 749.5), databasePlayer -> applyAndCast(leaderboardCategory, databasePlayer, DatabasePlayerCompStats.class).getShaman().getExperience(), databasePlayer -> NumberFormat.addCommaAndRound(applyAndCast(leaderboardCategory, databasePlayer, DatabasePlayerCompStats.class).getShaman().getExperience())));
        leaderboards.add(new Leaderboard("Rogue Experience", new Location(world, -2523.5, 58, 754.5), databasePlayer -> applyAndCast(leaderboardCategory, databasePlayer, DatabasePlayerCompStats.class).getRogue().getExperience(), databasePlayer -> NumberFormat.addCommaAndRound(applyAndCast(leaderboardCategory, databasePlayer, DatabasePlayerCompStats.class).getRogue().getExperience())));
    } else if (DatabasePlayerPubStats.class.equals(databasePlayerClass)) {
        leaderboards.add(new Leaderboard("Mage Experience", new Location(world, -2523.5, 58, 734.5), databasePlayer -> applyAndCast(leaderboardCategory, databasePlayer, DatabasePlayerPubStats.class).getMage().getExperience(), databasePlayer -> NumberFormat.addCommaAndRound(applyAndCast(leaderboardCategory, databasePlayer, DatabasePlayerPubStats.class).getMage().getExperience())));
        leaderboards.add(new Leaderboard("Warrior Experience", new Location(world, -2520.5, 58, 739.5), databasePlayer -> applyAndCast(leaderboardCategory, databasePlayer, DatabasePlayerPubStats.class).getWarrior().getExperience(), databasePlayer -> NumberFormat.addCommaAndRound(applyAndCast(leaderboardCategory, databasePlayer, DatabasePlayerPubStats.class).getWarrior().getExperience())));
        leaderboards.add(new Leaderboard("Paladin Experience", new Location(world, -2516.5, 58, 744.5), databasePlayer -> applyAndCast(leaderboardCategory, databasePlayer, DatabasePlayerPubStats.class).getPaladin().getExperience(), databasePlayer -> NumberFormat.addCommaAndRound(applyAndCast(leaderboardCategory, databasePlayer, DatabasePlayerPubStats.class).getPaladin().getExperience())));
        leaderboards.add(new Leaderboard("Shaman Experience", new Location(world, -2520.5, 58, 749.5), databasePlayer -> applyAndCast(leaderboardCategory, databasePlayer, DatabasePlayerPubStats.class).getShaman().getExperience(), databasePlayer -> NumberFormat.addCommaAndRound(applyAndCast(leaderboardCategory, databasePlayer, DatabasePlayerPubStats.class).getShaman().getExperience())));
        leaderboards.add(new Leaderboard("Rogue Experience", new Location(world, -2523.5, 58, 754.5), databasePlayer -> applyAndCast(leaderboardCategory, databasePlayer, DatabasePlayerPubStats.class).getRogue().getExperience(), databasePlayer -> NumberFormat.addCommaAndRound(applyAndCast(leaderboardCategory, databasePlayer, DatabasePlayerPubStats.class).getRogue().getExperience())));
    }
}
Also used : List(java.util.List) Location(org.bukkit.Location) AbstractDatabaseStatInformation(com.ebicep.warlords.database.repositories.player.pojos.AbstractDatabaseStatInformation) LeaderboardGameType(com.ebicep.warlords.database.leaderboards.sections.LeaderboardGameType) DatabasePlayerCompStats(com.ebicep.warlords.database.repositories.player.pojos.general.DatabasePlayerCompStats) LeaderboardCategory(com.ebicep.warlords.database.leaderboards.sections.LeaderboardCategory) DatabasePlayer(com.ebicep.warlords.database.repositories.player.pojos.general.DatabasePlayer) NumberFormat(com.ebicep.warlords.util.java.NumberFormat) Leaderboard(com.ebicep.warlords.database.leaderboards.Leaderboard) DatabasePlayerPubStats(com.ebicep.warlords.database.repositories.player.pojos.general.DatabasePlayerPubStats) Leaderboard(com.ebicep.warlords.database.leaderboards.Leaderboard) DatabasePlayerCompStats(com.ebicep.warlords.database.repositories.player.pojos.general.DatabasePlayerCompStats) DatabasePlayerPubStats(com.ebicep.warlords.database.repositories.player.pojos.general.DatabasePlayerPubStats) DatabasePlayer(com.ebicep.warlords.database.repositories.player.pojos.general.DatabasePlayer) Location(org.bukkit.Location)

Example 2 with AbstractDatabaseStatInformation

use of com.ebicep.warlords.database.repositories.player.pojos.AbstractDatabaseStatInformation in project Warlords by ebicep.

the class CustomScoreboard method giveMainLobbyScoreboard.

public void giveMainLobbyScoreboard() {
    if (scoreboard.getObjective("health") != null) {
        scoreboard.getObjective("health").unregister();
        health = null;
    }
    for (Player onlinePlayer : Bukkit.getOnlinePlayers()) {
        for (Team team : scoreboard.getTeams()) {
            if (team.getName().equals(onlinePlayer.getName())) {
                team.unregister();
                break;
            }
        }
    }
    if (loaded) {
        LeaderboardCategory<?> leaderboardCategory = getLeaderboardCategoryFromPlayer(player);
        if (leaderboardCategory == null)
            return;
        Leaderboard leaderboard = leaderboardCategory.leaderboards.get(0);
        List<DatabasePlayer> databasePlayerList;
        switch(playerLeaderboardTime.getOrDefault(player.getUniqueId(), PlayersCollections.LIFETIME)) {
            case LIFETIME:
                databasePlayerList = leaderboard.getSortedAllTime();
                break;
            case SEASON_5:
                databasePlayerList = leaderboard.getSortedSeason5();
                break;
            case SEASON_4:
                databasePlayerList = leaderboard.getSortedSeason4();
                break;
            case WEEKLY:
                databasePlayerList = leaderboard.getSortedWeekly();
                break;
            case DAILY:
                databasePlayerList = leaderboard.getSortedDaily();
                break;
            default:
                databasePlayerList = leaderboard.getSortedAllTime();
                break;
        }
        LeaderboardManager.GameType selectedType = playerLeaderboardGameType.get(player.getUniqueId());
        LeaderboardManager.Category selectedCategory = playerLeaderboardCategory.get(player.getUniqueId());
        PlayersCollections selectedCollection = playerLeaderboardTime.get(player.getUniqueId());
        if (selectedType == null)
            selectedType = GameType.ALL;
        if (selectedCollection == null)
            selectedCategory = Category.ALL;
        if (selectedCollection == null)
            selectedCollection = PlayersCollections.LIFETIME;
        String scoreboardSelection = "";
        if (!selectedType.shortName.isEmpty()) {
            scoreboardSelection += selectedType.shortName + "/";
        }
        if (!selectedCategory.shortName.isEmpty()) {
            scoreboardSelection += selectedCategory.shortName + "/";
        }
        scoreboardSelection += selectedCollection.name;
        Optional<DatabasePlayer> optionalDatabasePlayer = databasePlayerList.stream().filter(databasePlayer -> databasePlayer.getUuid().equalsIgnoreCase(player.getUniqueId().toString())).findAny();
        if (optionalDatabasePlayer.isPresent()) {
            DatabasePlayer databasePlayer = optionalDatabasePlayer.get();
            AbstractDatabaseStatInformation playerInformation = leaderboardCategory.statFunction.apply(databasePlayer);
            giveNewSideBar(true, ChatColor.GRAY + scoreboardSelection, "", "Kills: " + ChatColor.GREEN + NumberFormat.addCommaAndRound(playerInformation.getKills()), "Assists: " + ChatColor.GREEN + NumberFormat.addCommaAndRound(playerInformation.getAssists()), "Deaths: " + ChatColor.GREEN + NumberFormat.addCommaAndRound(playerInformation.getDeaths()), " " + "", "Wins: " + ChatColor.GREEN + NumberFormat.addCommaAndRound(playerInformation.getWins()), "Losses: " + ChatColor.GREEN + NumberFormat.addCommaAndRound(playerInformation.getLosses()), "  " + "", "Damage: " + ChatColor.RED + NumberFormat.addCommaAndRound(playerInformation.getDamage()), "Healing: " + ChatColor.DARK_GREEN + NumberFormat.addCommaAndRound(playerInformation.getHealing()), "Absorbed: " + ChatColor.GOLD + NumberFormat.addCommaAndRound(playerInformation.getAbsorbed()), "    ", "            " + ChatColor.YELLOW + ChatColor.BOLD + "Update", "     " + ChatColor.GOLD + ChatColor.BOLD + Warlords.VERSION);
        }
        return;
    }
    if (DatabaseManager.playerService == null) {
        clearSideBar();
        return;
    }
    DatabasePlayer databasePlayer = DatabaseManager.playerService.findByUUID(player.getUniqueId());
    giveNewSideBar(true, ChatColor.GRAY + "Lifetime", " ", "Kills: " + ChatColor.GREEN + NumberFormat.addCommaAndRound(databasePlayer.getKills()), "Assists: " + ChatColor.GREEN + NumberFormat.addCommaAndRound(databasePlayer.getAssists()), "Deaths: " + ChatColor.GREEN + NumberFormat.addCommaAndRound(databasePlayer.getDeaths()), " " + "", "Wins: " + ChatColor.GREEN + NumberFormat.addCommaAndRound(databasePlayer.getWins()), "Losses: " + ChatColor.GREEN + NumberFormat.addCommaAndRound(databasePlayer.getLosses()), "  " + "", "Damage: " + ChatColor.RED + NumberFormat.addCommaAndRound(databasePlayer.getDamage()), "Healing: " + ChatColor.DARK_GREEN + NumberFormat.addCommaAndRound(databasePlayer.getHealing()), "Absorbed: " + ChatColor.GOLD + NumberFormat.addCommaAndRound(databasePlayer.getAbsorbed()), "    ", "            " + ChatColor.YELLOW + ChatColor.BOLD + "Update", "     " + ChatColor.GOLD + ChatColor.BOLD + Warlords.VERSION);
}
Also used : Warlords(com.ebicep.warlords.Warlords) DatabaseManager(com.ebicep.warlords.database.DatabaseManager) Player(org.bukkit.entity.Player) LeaderboardCategory(com.ebicep.warlords.database.leaderboards.sections.LeaderboardCategory) DatabasePlayer(com.ebicep.warlords.database.repositories.player.pojos.general.DatabasePlayer) NumberFormat(com.ebicep.warlords.util.java.NumberFormat) PlayersCollections(com.ebicep.warlords.database.repositories.player.PlayersCollections) List(java.util.List) AbstractDatabaseStatInformation(com.ebicep.warlords.database.repositories.player.pojos.AbstractDatabaseStatInformation) LeaderboardManager(com.ebicep.warlords.database.leaderboards.LeaderboardManager) Optional(java.util.Optional) ChatColor(org.bukkit.ChatColor) org.bukkit.scoreboard(org.bukkit.scoreboard) Leaderboard(com.ebicep.warlords.database.leaderboards.Leaderboard) Bukkit(org.bukkit.Bukkit) Player(org.bukkit.entity.Player) DatabasePlayer(com.ebicep.warlords.database.repositories.player.pojos.general.DatabasePlayer) Leaderboard(com.ebicep.warlords.database.leaderboards.Leaderboard) LeaderboardManager(com.ebicep.warlords.database.leaderboards.LeaderboardManager) PlayersCollections(com.ebicep.warlords.database.repositories.player.PlayersCollections) AbstractDatabaseStatInformation(com.ebicep.warlords.database.repositories.player.pojos.AbstractDatabaseStatInformation) DatabasePlayer(com.ebicep.warlords.database.repositories.player.pojos.general.DatabasePlayer)

Aggregations

Leaderboard (com.ebicep.warlords.database.leaderboards.Leaderboard)2 LeaderboardCategory (com.ebicep.warlords.database.leaderboards.sections.LeaderboardCategory)2 AbstractDatabaseStatInformation (com.ebicep.warlords.database.repositories.player.pojos.AbstractDatabaseStatInformation)2 DatabasePlayer (com.ebicep.warlords.database.repositories.player.pojos.general.DatabasePlayer)2 NumberFormat (com.ebicep.warlords.util.java.NumberFormat)2 List (java.util.List)2 Warlords (com.ebicep.warlords.Warlords)1 DatabaseManager (com.ebicep.warlords.database.DatabaseManager)1 LeaderboardManager (com.ebicep.warlords.database.leaderboards.LeaderboardManager)1 LeaderboardGameType (com.ebicep.warlords.database.leaderboards.sections.LeaderboardGameType)1 PlayersCollections (com.ebicep.warlords.database.repositories.player.PlayersCollections)1 DatabasePlayerCompStats (com.ebicep.warlords.database.repositories.player.pojos.general.DatabasePlayerCompStats)1 DatabasePlayerPubStats (com.ebicep.warlords.database.repositories.player.pojos.general.DatabasePlayerPubStats)1 Optional (java.util.Optional)1 Bukkit (org.bukkit.Bukkit)1 ChatColor (org.bukkit.ChatColor)1 Location (org.bukkit.Location)1 Player (org.bukkit.entity.Player)1 org.bukkit.scoreboard (org.bukkit.scoreboard)1