Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ru.den_abr.crates.queues;
- import java.util.Collection;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import java.util.Map.Entry;
- import java.util.concurrent.atomic.AtomicInteger;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.entity.Player;
- import ru.den_abr.crates.CratesPlugin;
- import ru.den_abr.crates.storage.KeyCache;
- import ru.den_abr.crates.storage.MySQL;
- import ru.den_abr.crates.storage.PlayerKeys;
- public class GetKeysQueue
- extends AbstractQueue
- {
- public GetKeysQueue()
- {
- super(true, 10);
- }
- public void handle()
- {
- Collection<Map.Entry<String, String>> ent = collectProcessingEntries();
- String joinedPlayers = join(ent);
- String query = "SELECT * FROM `player_keys` WHERE `player` IN (" + joinedPlayers + ")";
- Map<String, PlayerKeys> keys = new HashMap();
- List<Map<String, Object>> result = KeyCache.getMysql().select(query);
- for (Map<String, Object> map : result)
- {
- String player = (String)map.get("player");
- String key = (String)map.get("key");
- Number amount = (Number)map.get("amount");
- if (!keys.containsKey(player.toLowerCase())) {
- keys.put(player.toLowerCase(), new PlayerKeys(player));
- }
- ((PlayerKeys)keys.get(player.toLowerCase())).getMutableKeys(key).set(amount.intValue());
- }
- this.processing.clear();
- for (Map.Entry<String, String> ents : ent)
- {
- Player p = Bukkit.getPlayerExact((String)ents.getKey());
- if (p != null)
- {
- boolean has = false;
- PlayerKeys pk =
- (PlayerKeys)keys.get((ents.getValue() != null ? ((String)ents.getValue()).toString() : (String)ents.getKey()).toLowerCase());
- if (pk == null)
- {
- p.sendMessage(ChatColor.RED + "� " + (ents.getValue() != null ? ((String)ents.getValue()).toString() : "���") +
- " ��� ������!");
- }
- else
- {
- p.sendMessage("�a[�����] �7��������� �����:");
- for (String keyName : pk.getKeys().keySet()) {
- if (pk.getKeys(keyName) > 0)
- {
- has = true;
- p.sendMessage(ChatColor.GOLD + joinCaseNames(CratesPlugin.getKeysWithTheSameKey(keyName)) + ": " +
- ChatColor.GREEN + pk.getKeys(keyName) + "��.");
- }
- }
- if (!has) {
- p.sendMessage(ChatColor.RED + "� " + (ents.getValue() != null ? ((String)ents.getValue()).toString() : "���") +
- " ��� ������!");
- }
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement