Advertisement
Guest User

Untitled

a guest
Dec 9th, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.67 KB | None | 0 0
  1. package ru.den_abr.crates.queues;
  2.  
  3. import java.util.Collection;
  4. import java.util.HashMap;
  5. import java.util.List;
  6. import java.util.Map;
  7. import java.util.Map.Entry;
  8. import java.util.concurrent.atomic.AtomicInteger;
  9. import org.bukkit.Bukkit;
  10. import org.bukkit.ChatColor;
  11. import org.bukkit.entity.Player;
  12. import ru.den_abr.crates.CratesPlugin;
  13. import ru.den_abr.crates.storage.KeyCache;
  14. import ru.den_abr.crates.storage.MySQL;
  15. import ru.den_abr.crates.storage.PlayerKeys;
  16.  
  17. public class GetKeysQueue
  18. extends AbstractQueue
  19. {
  20. public GetKeysQueue()
  21. {
  22. super(true, 10);
  23. }
  24.  
  25. public void handle()
  26. {
  27. Collection<Map.Entry<String, String>> ent = collectProcessingEntries();
  28. String joinedPlayers = join(ent);
  29. String query = "SELECT * FROM `player_keys` WHERE `player` IN (" + joinedPlayers + ")";
  30. Map<String, PlayerKeys> keys = new HashMap();
  31.  
  32. List<Map<String, Object>> result = KeyCache.getMysql().select(query);
  33. for (Map<String, Object> map : result)
  34. {
  35. String player = (String)map.get("player");
  36. String key = (String)map.get("key");
  37. Number amount = (Number)map.get("amount");
  38. if (!keys.containsKey(player.toLowerCase())) {
  39. keys.put(player.toLowerCase(), new PlayerKeys(player));
  40. }
  41. ((PlayerKeys)keys.get(player.toLowerCase())).getMutableKeys(key).set(amount.intValue());
  42. }
  43. this.processing.clear();
  44. for (Map.Entry<String, String> ents : ent)
  45. {
  46. Player p = Bukkit.getPlayerExact((String)ents.getKey());
  47. if (p != null)
  48. {
  49. boolean has = false;
  50. PlayerKeys pk =
  51. (PlayerKeys)keys.get((ents.getValue() != null ? ((String)ents.getValue()).toString() : (String)ents.getKey()).toLowerCase());
  52. if (pk == null)
  53. {
  54. p.sendMessage(ChatColor.RED + "� " + (ents.getValue() != null ? ((String)ents.getValue()).toString() : "���") +
  55. " ��� ������!");
  56. }
  57. else
  58. {
  59. p.sendMessage("�a[�����] �7��������� �����:");
  60. for (String keyName : pk.getKeys().keySet()) {
  61. if (pk.getKeys(keyName) > 0)
  62. {
  63. has = true;
  64. p.sendMessage(ChatColor.GOLD + joinCaseNames(CratesPlugin.getKeysWithTheSameKey(keyName)) + ": " +
  65. ChatColor.GREEN + pk.getKeys(keyName) + "��.");
  66. }
  67. }
  68. if (!has) {
  69. p.sendMessage(ChatColor.RED + "� " + (ents.getValue() != null ? ((String)ents.getValue()).toString() : "���") +
  70. " ��� ������!");
  71. }
  72. }
  73. }
  74. }
  75. }
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement