Cześć, napisałem krótki plugin BungeeCord na blokadę czatu. Trzeba grać conajmniej 30min, aby móc pisać na chacie, lecz przy wywoływaniu taska pokazuje się taki błąd w konsoli:
[21:10:50 ERROR]:TaskBungeeTask(sched=net.md_5.bungee.scheduler.BungeeScheduler@40499e4f, id=0, owner=pl.szymoon202.chatblocker.Main@1c7fd41f, task=pl.szymoon202.chatblocker.Main$1@51cd7ffc, delay=60000, period=60000, running=true) encountered an exception
java.util.ConcurrentModificationException:null
at java.util.HashMap.forEach(HashMap.java:1291)~[?:1.8.0_144]
at pl.szymoon202.chatblocker.Main$1.run(Main.java:22)~[?:?]
at net.md_5.bungee.scheduler.BungeeTask.run(BungeeTask.java:63)[Waterfall.jar:git:Waterfall-Bootstrap:1.12-SNAPSHOT:261741a:155]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)[?:1.8.0_144]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)[?:1.8.0_144]
at java.lang.Thread.run(Thread.java:748)[?:1.8.0_144]
Klasa Main:
public class Main extends Plugin{
public static HashMap<ProxiedPlayer, Integer> players = new HashMap<ProxiedPlayer, Integer>();
@Override
public void onEnable() {
getProxy().getPluginManager().registerListener(this, new LoginListener());
getProxy().getPluginManager().registerListener(this, new ChatListener());
getProxy().getScheduler().schedule(this, new Runnable() {
public void run(){
players.forEach((player, minutes) -> {
ProxiedPlayer p = player;
if(p.isConnected()) {
int i = minutes;
if(i != 0) {
i--;
players.remove(p);
players.put(p, i);
}
}
});
}
}, 1, 1, TimeUnit.MINUTES);
}
}
Własnie przy tym tasku pokazuje się błąd. Mam również dwa inne listenery, jeden na czat a drugi na logowanie, ale one działają bez problemu. Ktoś pomoże wyjaśnić ten problem?
Pytanie
Szymoon202 15
Cześć, napisałem krótki plugin BungeeCord na blokadę czatu. Trzeba grać conajmniej 30min, aby móc pisać na chacie, lecz przy wywoływaniu taska pokazuje się taki błąd w konsoli:
Klasa Main:
Własnie przy tym tasku pokazuje się błąd. Mam również dwa inne listenery, jeden na czat a drugi na logowanie, ale one działają bez problemu. Ktoś pomoże wyjaśnić ten problem?
Odnośnik do komentarza
Udostępnij na innych stronach
6 odpowiedzi na to pytanie
Rekomendowane odpowiedzi