Advertisement
Guest User

Untitled

a guest
Jun 27th, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.57 KB | None | 0 0
  1. package club.drasticpvp.uhcmeetup.leaderboards;
  2.  
  3. import org.bukkit.*;
  4. import club.drasticpvp.uhcmeetup.utils.*;
  5. import club.drasticpvp.uhcmeetup.managers.*;
  6. import com.mongodb.*;
  7. import club.drasticpvp.uhcmeetup.flatdata.*;
  8. import java.io.*;
  9. import org.bukkit.configuration.file.*;
  10. import club.drasticpvp.uhcmeetup.utils.chat.*;
  11. import java.util.*;
  12.  
  13. public class Leaderboard
  14. {
  15. private int amount;
  16. private String object;
  17. private String name;
  18. private Material material;
  19. private List<String> leaderboard;
  20.  
  21. public Leaderboard(final String name, final String object, final Material mat, final int amount) {
  22. this.amount = amount;
  23. this.object = object;
  24. this.name = name;
  25. this.leaderboard = new ArrayList<String>();
  26. this.material = mat;
  27. this.load();
  28. }
  29.  
  30. public void update() {
  31. this.leaderboard.clear();
  32. this.load();
  33. }
  34.  
  35. public void load() {
  36. final HashMap<String, Integer> map = new HashMap<String, Integer>();
  37. final ValueComparator bvc = new ValueComparator(map);
  38. final TreeMap<String, Integer> sorted_map = new TreeMap<String, Integer>(bvc);
  39. if (GameManager.getInstance().isMongo()) {
  40. for (final DBObject objects : LeaderboardManager.getInstance().getCollection().find()) {
  41. final String playerName = String.valueOf(objects.get("Nick"));
  42. final int value = Integer.parseInt(String.valueOf(objects.get(this.object)));
  43. map.put(playerName, value);
  44. }
  45. }
  46. else {
  47. for (final File file : FlatDataHandler.getInstance().getDataFiles()) {
  48. final YamlConfiguration configuration = YamlConfiguration.loadConfiguration(file);
  49. final String playerName2 = configuration.getString("name");
  50. final int value2 = configuration.getInt(this.object);
  51. map.put(playerName2, value2);
  52. }
  53. }
  54. sorted_map.putAll(map);
  55. int i = 1;
  56. for (final String s : sorted_map.keySet()) {
  57. if (i > this.amount) {
  58. break;
  59. }
  60. String color = "&c";
  61. if (i == 1 || i == 2 || i == 3) {
  62. color = "&4";
  63. }
  64. String nameColor = "&a";
  65. if (i == 1 || i == 2 || i == 3) {
  66. nameColor = "&6";
  67. }
  68. this.leaderboard.add(Color.translate(color + i + ". " + nameColor + s + "&7: &9(" + map.get(s) + ")"));
  69. ++i;
  70. }
  71. if (this.leaderboard.isEmpty()) {
  72. this.leaderboard.add(Color.translate("&eThis leaderboard is empty"));
  73. }
  74. }
  75.  
  76. public int getAmount() {
  77. return this.amount;
  78. }
  79.  
  80. public String getObject() {
  81. return this.object;
  82. }
  83.  
  84. public String getName() {
  85. return this.name;
  86. }
  87.  
  88. public Material getMaterial() {
  89. return this.material;
  90. }
  91.  
  92. public List<String> getLeaderboard() {
  93. return this.leaderboard;
  94. }
  95.  
  96. public void setAmount(final int amount) {
  97. this.amount = amount;
  98. }
  99.  
  100. public void setObject(final String object) {
  101. this.object = object;
  102. }
  103.  
  104. public void setName(final String name) {
  105. this.name = name;
  106. }
  107.  
  108. public void setMaterial(final Material material) {
  109. this.material = material;
  110. }
  111.  
  112. public void setLeaderboard(final List<String> leaderboard) {
  113. this.leaderboard = leaderboard;
  114. }
  115. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement