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.configuration.file.FileConfiguration;
- 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 CheckOnJoinQueue
- extends AbstractQueue
- {
- public CheckOnJoinQueue()
- {
- super(true, 30);
- }
- public void handle()
- {
- Collection<Map.Entry<String, String>> ent = collectProcessingEntries();
- String joinedPlayers = joinKeys(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> entry : ent)
- {
- PlayerKeys pk = (PlayerKeys)keys.get(((String)entry.getKey()).toLowerCase());
- Player p = Bukkit.getPlayerExact((String)entry.getKey());
- if (p != null) {
- if (pk != null)
- {
- boolean m = false;
- for (String keyName : pk.getKeys().keySet()) {
- if (pk.getKeys(keyName) > 0)
- {
- if (!m)
- {
- m = true;
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',
- String.valueOf(CratesPlugin.getInstance().getConfig().getString("join keys message"))));
- }
- p.sendMessage(ChatColor.GOLD + joinCaseNames(CratesPlugin.getKeysWithTheSameKey(keyName)) + ": " +
- ChatColor.GREEN + pk.getKeys(keyName) + "��.");
- }
- }
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement