Advertisement
Guest User

Untitled

a guest
Dec 9th, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.36 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.configuration.file.FileConfiguration;
  12. import org.bukkit.entity.Player;
  13. import ru.den_abr.crates.CratesPlugin;
  14. import ru.den_abr.crates.storage.KeyCache;
  15. import ru.den_abr.crates.storage.MySQL;
  16. import ru.den_abr.crates.storage.PlayerKeys;
  17.  
  18. public class CheckOnJoinQueue
  19. extends AbstractQueue
  20. {
  21. public CheckOnJoinQueue()
  22. {
  23. super(true, 30);
  24. }
  25.  
  26. public void handle()
  27. {
  28. Collection<Map.Entry<String, String>> ent = collectProcessingEntries();
  29. String joinedPlayers = joinKeys(ent);
  30. String query = "SELECT * FROM `player_keys` WHERE `player` IN (" + joinedPlayers + ")";
  31. Map<String, PlayerKeys> keys = new HashMap();
  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> entry : ent)
  45. {
  46. PlayerKeys pk = (PlayerKeys)keys.get(((String)entry.getKey()).toLowerCase());
  47. Player p = Bukkit.getPlayerExact((String)entry.getKey());
  48. if (p != null) {
  49. if (pk != null)
  50. {
  51. boolean m = false;
  52. for (String keyName : pk.getKeys().keySet()) {
  53. if (pk.getKeys(keyName) > 0)
  54. {
  55. if (!m)
  56. {
  57. m = true;
  58. p.sendMessage(ChatColor.translateAlternateColorCodes('&',
  59. String.valueOf(CratesPlugin.getInstance().getConfig().getString("join keys message"))));
  60. }
  61. p.sendMessage(ChatColor.GOLD + joinCaseNames(CratesPlugin.getKeysWithTheSameKey(keyName)) + ": " +
  62. ChatColor.GREEN + pk.getKeys(keyName) + "��.");
  63. }
  64. }
  65. }
  66. }
  67. }
  68. }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement