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())));
}
}
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);
}
Aggregations