Well I have tried using itemList.clear() but it gives me the same error. In my map changing code I have the below, and it succeeds in adding them to the list but as soon as they start updating it crashes and gives me a concurrent modification error.
Update : I checked to see if the itemList was of the correct size and it is. It’s only after adding the objects that it completely boots itself.
public static void loadMapItems(TiledMap tiledMap, TiledMapRenderer renderer) {
isLoading = true;
currentRenderer = renderer;
ItemManager.itemList.clear();
if (tiledMap != null) {
MapLayer collisionObjectLayer = tiledMap.getLayers().get("Objetos");
MapObjects objects = collisionObjectLayer.getObjects();
for (MapObject Object : objects.getByType(MapObject.class)) {
float posX = Object.getProperties().get("x", float.class);
float posY = Object.getProperties().get("y", float.class);
if (Object.getProperties().get("item") != null) {
if (Object.getProperties().get("item").equals("moneda")) {
ItemManager.itemList.add(new ItemMoneda(posX, posY));
System.out.println("Item :Moneda: created");
}
if (Object.getProperties().get("item").equals("mina")) {
ItemManager.itemList.add(new ItemMina(posX, posY));
System.out.println("Item :Mina: Created");
}
if (Object.getProperties().get("item").equals("Santi")) {
ItemManager.itemList.add(new ItemSanti(posX, posY));
System.out.println("Item :Santi: Created");
}
}
if (Object.getProperties().get("enemy") != null) {
if (Object.getProperties().get("enemy").equals("malo")) {
ItemManager.itemList.add(new ItemMalo(posX, posY));
System.out.println("Item :Malo: Created");
}
}
}
}
System.out.println("toot");
isLoading = false;
}