El bloque de código que genera problema, es el siguiente
Código
if(celdaAux.getMalos()!= null && celdaAux.getFuego() == true){ for(Malo m : celdaAux.getMalos()){ m.matar(getBomberman(1)); celdaAux.removeMalo(m); celdaAux.setfueModificada(true); }
Investigué un poco, y encontré que el problema se da por que estoy eliminando elementos de una lista mientras estoy iterando sobre la misma.
Una solución a esto es usando el remove del iterador. No me funcionó
Y otra usando un bloque syncronized(){...}, pero no sé como aplicarlo