Posted February 18, 20178 yr public void playerTick(PlayerTickEvent event) { List<Entity> entities = event.player.getEntityWorld().getEntitiesWithinAABBExcludingEntity(event.player, event.player.getEntityBoundingBox().expand(1.0D, 1.0D, 1.0D)); for(Entity entity : entities){ if((entity instanceof EntityMob && ((EntityLivingBase) entity).getHeldItemMainhand() != null && !previousmobs.contains(entity))){ event.player.addChatMessage(((EntityLivingBase) entity).getHeldItemMainhand().getTextComponent()); previousmobs.add((EntityMob) entity); } } if(!previousmobs.isEmpty()){ for(Entity e : previousmobs){ if(e.isDead){ previousmobs.remove(e); } } } ConcurrentModificationException: (I am assuming that means that at the same time it is removing it from the list it is also checking if its on the list causing it to crash) The game crashes right after I kill a mob and the body drops. Stacktrace: java.util.ConcurrentModificationException at java.util.ArrayList$Itr.checkForComodification(Unknown Source) ~[?:1.8.0_65] at java.util.ArrayList$Itr.next(Unknown Source) ~[?:1.8.0_65] at com.vivabenfica4ps3.gmail.DungeonRealmsMod.playerTick(DungeonRealmsMod.java:74) ~[DungeonRealmsMod.class:?] at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_6_DungeonRealmsMod_playerTick_PlayerTickEvent.invoke(.dynamic) ~[?:?] at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) ~[ASMEventHandler.class:?] at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:185) [EventBus.class:?] at net.minecraftforge.fml.common.FMLCommonHandler.onPlayerPreTick(FMLCommonHandler.java:360) [FMLCommonHandler.class:?] at net.minecraft.entity.player.EntityPlayer.onUpdate(EntityPlayer.java:215) [EntityPlayer.class:?] at net.minecraft.entity.player.EntityPlayerMP.onUpdateEntity(EntityPlayerMP.java:341) [EntityPlayerMP.class:?] at net.minecraft.network.NetHandlerPlayServer.update(NetHandlerPlayServer.java:174) [NetHandlerPlayServer.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher$1.update(NetworkDispatcher.java:216) [NetworkDispatcher$1.class:?] at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:308) [NetworkManager.class:?] at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:195) [NetworkSystem.class:?] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:806) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:687) [MinecraftServer.class:?] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:156) [IntegratedServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:536) [MinecraftServer.class:?] at java.lang.Thread.run(Unknown Source) [?:1.8.0_65] [13:01:22] [Server thread/ERROR] [FML]: Index: 1 Listeners: [13:01:22] [Server thread/ERROR] [FML]: 0: NORMAL [13:01:22] [Server thread/ERROR] [FML]: 1: ASM: com.vivabenfica4ps3.gmail.DungeonRealmsMod@158774d3 playerTick(Lnet/minecraftforge/fml/common/gameevent/TickEvent$PlayerTickEvent;)V [13:01:22] [Server thread/ERROR]: Encountered an unexpected exception net.minecraft.util.ReportedException: Ticking player at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:210) ~[NetworkSystem.class:?] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:806) ~[MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:687) ~[MinecraftServer.class:?] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:156) ~[IntegratedServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:536) [MinecraftServer.class:?] at java.lang.Thread.run(Unknown Source) [?:1.8.0_65] Caused by: java.util.ConcurrentModificationException at java.util.ArrayList$Itr.checkForComodification(Unknown Source) ~[?:1.8.0_65] at java.util.ArrayList$Itr.next(Unknown Source) ~[?:1.8.0_65] at com.vivabenfica4ps3.gmail.DungeonRealmsMod.playerTick(DungeonRealmsMod.java:74) ~[DungeonRealmsMod.class:?] at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_6_DungeonRealmsMod_playerTick_PlayerTickEvent.invoke(.dynamic) ~[?:?] at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) ~[ASMEventHandler.class:?] at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:185) ~[EventBus.class:?] at net.minecraftforge.fml.common.FMLCommonHandler.onPlayerPreTick(FMLCommonHandler.java:360) ~[FMLCommonHandler.class:?] at net.minecraft.entity.player.EntityPlayer.onUpdate(EntityPlayer.java:215) ~[EntityPlayer.class:?] at net.minecraft.entity.player.EntityPlayerMP.onUpdateEntity(EntityPlayerMP.java:341) ~[EntityPlayerMP.class:?] at net.minecraft.network.NetHandlerPlayServer.update(NetHandlerPlayServer.java:174) ~[NetHandlerPlayServer.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher$1.update(NetworkDispatcher.java:216) ~[NetworkDispatcher$1.class:?] at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:308) ~[NetworkManager.class:?] at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:195) ~[NetworkSystem.class:?] ... 5 more [13:01:22] [Server thread/ERROR]: This crash report has been saved to: D:\DRMod\run\.\crash-reports\crash-2017-02-18_13.01.22-server.txt [13:01:22] [Server thread/INFO]: Stopping server [13:01:22] [Server thread/INFO]: Saving players [13:01:22] [Server thread/INFO]: Saving worlds [13:01:22] [Server thread/INFO]: Saving chunks for level 'New World'/Overworld [13:01:22] [Client thread/INFO] [STDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:649]: ---- Minecraft Crash Report ---- // You're mean. Time: 2/18/17 1:01 PM Description: Ticking player java.util.ConcurrentModificationException at java.util.ArrayList$Itr.checkForComodification(Unknown Source) at java.util.ArrayList$Itr.next(Unknown Source) at com.vivabenfica4ps3.gmail.DungeonRealmsMod.playerTick(DungeonRealmsMod.java:74) at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_6_DungeonRealmsMod_playerTick_PlayerTickEvent.invoke(.dynamic) at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:185) at net.minecraftforge.fml.common.FMLCommonHandler.onPlayerPreTick(FMLCommonHandler.java:360) at net.minecraft.entity.player.EntityPlayer.onUpdate(EntityPlayer.java:215) at net.minecraft.entity.player.EntityPlayerMP.onUpdateEntity(EntityPlayerMP.java:341) at net.minecraft.network.NetHandlerPlayServer.update(NetHandlerPlayServer.java:174) at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher$1.update(NetworkDispatcher.java:216) at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:308) at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:195) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:806) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:687) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:156) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:536) at java.lang.Thread.run(Unknown Source) Does anyone know how to fix this?
February 18, 20178 yr Author Got it: Solved I dont know how I forgot such a basic rule of java. Whenever iterating through a List always use an Iterator.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.