Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package club.drasticpvp.uhcmeetup.leaderboards;
- import org.bukkit.*;
- import club.drasticpvp.uhcmeetup.utils.*;
- import club.drasticpvp.uhcmeetup.managers.*;
- import com.mongodb.*;
- import club.drasticpvp.uhcmeetup.flatdata.*;
- import java.io.*;
- import org.bukkit.configuration.file.*;
- import club.drasticpvp.uhcmeetup.utils.chat.*;
- import java.util.*;
- public class Leaderboard
- {
- private int amount;
- private String object;
- private String name;
- private Material material;
- private List<String> leaderboard;
- public Leaderboard(final String name, final String object, final Material mat, final int amount) {
- this.amount = amount;
- this.object = object;
- this.name = name;
- this.leaderboard = new ArrayList<String>();
- this.material = mat;
- this.load();
- }
- public void update() {
- this.leaderboard.clear();
- this.load();
- }
- public void load() {
- final HashMap<String, Integer> map = new HashMap<String, Integer>();
- final ValueComparator bvc = new ValueComparator(map);
- final TreeMap<String, Integer> sorted_map = new TreeMap<String, Integer>(bvc);
- if (GameManager.getInstance().isMongo()) {
- for (final DBObject objects : LeaderboardManager.getInstance().getCollection().find()) {
- final String playerName = String.valueOf(objects.get("Nick"));
- final int value = Integer.parseInt(String.valueOf(objects.get(this.object)));
- map.put(playerName, value);
- }
- }
- else {
- for (final File file : FlatDataHandler.getInstance().getDataFiles()) {
- final YamlConfiguration configuration = YamlConfiguration.loadConfiguration(file);
- final String playerName2 = configuration.getString("name");
- final int value2 = configuration.getInt(this.object);
- map.put(playerName2, value2);
- }
- }
- sorted_map.putAll(map);
- int i = 1;
- for (final String s : sorted_map.keySet()) {
- if (i > this.amount) {
- break;
- }
- String color = "&c";
- if (i == 1 || i == 2 || i == 3) {
- color = "&4";
- }
- String nameColor = "&a";
- if (i == 1 || i == 2 || i == 3) {
- nameColor = "&6";
- }
- this.leaderboard.add(Color.translate(color + i + ". " + nameColor + s + "&7: &9(" + map.get(s) + ")"));
- ++i;
- }
- if (this.leaderboard.isEmpty()) {
- this.leaderboard.add(Color.translate("&eThis leaderboard is empty"));
- }
- }
- public int getAmount() {
- return this.amount;
- }
- public String getObject() {
- return this.object;
- }
- public String getName() {
- return this.name;
- }
- public Material getMaterial() {
- return this.material;
- }
- public List<String> getLeaderboard() {
- return this.leaderboard;
- }
- public void setAmount(final int amount) {
- this.amount = amount;
- }
- public void setObject(final String object) {
- this.object = object;
- }
- public void setName(final String name) {
- this.name = name;
- }
- public void setMaterial(final Material material) {
- this.material = material;
- }
- public void setLeaderboard(final List<String> leaderboard) {
- this.leaderboard = leaderboard;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement