Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Recommended Posts

estou usando um server de um jogo que baixei na internet para estudos, e estou com problema com esse código :

package mext.maou.v2.tasks;

import it.gotoandplay.smartfoxserver.data.User;
import java.util.Map;
import java.util.PriorityQueue;
import java.util.concurrent.ConcurrentHashMap;
import mext.maou.v2.world.World;
import net.sf.json.JSONObject;

/**
 *
 * @author JohnJoshua
 */
public class WarzoneQueue implements Runnable {
    
    ConcurrentHashMap<String, PriorityQueue<User>> warzoneQueues = new ConcurrentHashMap<String, PriorityQueue<User>>();
    
    @Override
    public void run() {
        for(Map.Entry<String, PriorityQueue<User>> e : warzoneQueues.entrySet()) {
            PriorityQueue<User> pq = e.getValue();
            String warzone = e.getKey();
            if(pq.size() == 10) {
                JSONObject PVPI = new JSONObject();
                
                PVPI.put("cmd", "PVPI");
                PVPI.put("warzone", warzone);
                
                for(int i = 0; i < 10; i++) {
                    User user = pq.poll();
                    World.instance.sendResponse(new String[] {"server", "A new Warzone battle has started!"}, user);
                    World.instance.sendResponse(PVPI, user);
                }
            }
        }
    }
    
    private PriorityQueue<User> getWarzoneQueue(String warzone) {
        if(warzoneQueues.containsKey(warzone)) {
            return warzoneQueues.get(warzone);
        } else {
            warzoneQueues.putIfAbsent(warzone, new PriorityQueue<User>());
            return warzoneQueues.get(warzone);
        }
    }
    
    /**
     *
     * @param user
     */
    public void removeUserFromQueues(User user) {
        for(PriorityQueue<User> pq : warzoneQueues.values()) {
            pq.remove(user);
        }
    }
    
    /**
     *
     * @param warzone
     * @param user
     */
    public void queueUser(String warzone, User user) {
        PriorityQueue<User> pq = getWarzoneQueue(warzone);
        pq.add(user);
    }
}

está dando o seguinte erro:

akv7zd.png

 

alguém pode ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.