Posted October 13, 20159 yr I've made a custom particle class that can detect when an entity has collided with the particle (among other things) and then act accordingly. My class seemed to work perfectly, but once in a while (maybe 1/1000 times) the class would cause my game to crash. Since it was so rare and I couldn't narrow down the problem, I ignored it. But now I have one of my custom particles spawning constantly from a mob and I found that killing the mob with the command: /kill @e[type=!Player] can cause the same crash occasionally (maybe 1/100 times). So I made a redstone clock to spawn the mob and then have the command run every tick so I can easily replicate the crash and fix it. I have found that running either of these codes in my custom particle class on the server side causes this crash: //get list of entities that the particle has collided with List entities = this.worldObj.getEntitiesWithinAABBExcludingEntity(action.entity /*my entity*/, new AxisAlignedBB(this.posX-0.3F, this.posY-0.3F, this.posZ-0.3F, this.posX+0.3F, this.posY+0.3F, this.posZ+0.3F)); Crashlog: ---- Minecraft Crash Report ---- WARNING: coremods are present: CCCDeobfPlugin (unknown) CodeChickenCorePlugin (CodeChickenCore-1.8-1.0.5.34-dev.jar) CCLCorePlugin (CodeChickenLib-1.8-1.1.2.115-dev.jar) Contact their authors BEFORE contacting forge // Who set us up the TNT? Time: 10/13/15 11:35 AM Description: Ticking Particle java.util.ConcurrentModificationException at java.util.HashMap$HashIterator.nextNode(Unknown Source) at java.util.HashMap$KeyIterator.next(Unknown Source) at com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator.next(AbstractMapBasedMultimap.java:486) at net.minecraft.util.ClassInheritanceMultiMap$2.computeNext(ClassInheritanceMultiMap.java:125) at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) at net.minecraft.world.chunk.Chunk.getEntitiesWithinAABBForEntity(Chunk.java:1065) at net.minecraft.world.World.func_175674_a(World.java:3223) at net.minecraft.world.World.getEntitiesWithinAABBExcludingEntity(World.java:3206) at mod.babyMobs.particles.EntityCustomParticleFX.updateEffects(EntityCustomParticleFX.java:169) at mod.babyMobs.particles.EntityCustomParticleFX.onUpdate(EntityCustomParticleFX.java:66) at net.minecraft.client.particle.EffectRenderer.func_178923_d(EffectRenderer.java:211) at net.minecraft.client.particle.EffectRenderer.func_178925_a(EffectRenderer.java:196) at net.minecraft.client.particle.EffectRenderer.func_178922_a(EffectRenderer.java:185) at net.minecraft.client.particle.EffectRenderer.updateEffects(EffectRenderer.java:161) at net.minecraft.client.Minecraft.runTick(Minecraft.java:2233) at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1087) at net.minecraft.client.Minecraft.run(Minecraft.java:376) at net.minecraft.client.main.Main.main(Main.java:117) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) at net.minecraft.launchwrapper.Launch.main(Launch.java:28) at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) at GradleStart.main(Unknown Source) A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Stacktrace: at java.util.HashMap$HashIterator.nextNode(Unknown Source) at java.util.HashMap$KeyIterator.next(Unknown Source) at com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator.next(AbstractMapBasedMultimap.java:486) at net.minecraft.util.ClassInheritanceMultiMap$2.computeNext(ClassInheritanceMultiMap.java:125) at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) at net.minecraft.world.chunk.Chunk.getEntitiesWithinAABBForEntity(Chunk.java:1065) at net.minecraft.world.World.func_175674_a(World.java:3223) at net.minecraft.world.World.getEntitiesWithinAABBExcludingEntity(World.java:3206) at mod.babyMobs.particles.EntityCustomParticleFX.updateEffects(EntityCustomParticleFX.java:169) at mod.babyMobs.particles.EntityCustomParticleFX.onUpdate(EntityCustomParticleFX.java:66) -- Particle being ticked -- Details: Particle: EntityCustomParticleFX, Pos (1431.5,5.5,942.5), RGBA (255.0,255.0,255.0,1.0), Age 7 Particle Type: MISC_TEXTURE Stacktrace: at net.minecraft.client.particle.EffectRenderer.func_178923_d(EffectRenderer.java:211) at net.minecraft.client.particle.EffectRenderer.func_178925_a(EffectRenderer.java:196) at net.minecraft.client.particle.EffectRenderer.func_178922_a(EffectRenderer.java:185) at net.minecraft.client.particle.EffectRenderer.updateEffects(EffectRenderer.java:161) -- Affected level -- Details: Level name: MpServer All players: 1 total; [EntityPlayerSP['Player209'/63, l='MpServer', x=1438.26, y=4.00, z=945.65]] Chunk stats: MultiplayerChunkCache: 441, 441 Level seed: 0 Level generator: ID 01 - flat, ver 0. Features enabled: false Level generator options: Level spawn location: 1443.00,4.00,948.00 - World: (1443,4,948), Chunk: (at 3,0,4 in 90,59; contains blocks 1440,0,944 to 1455,255,959), Region: (2,1; contains chunks 64,32 to 95,63, blocks 1024,0,512 to 1535,255,1023) Level time: 2271369 game time, 1000 day time Level dimension: 0 Level storage version: 0x00000 - Unknown? Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false) Level game mode: Game mode: survival (ID 0). Hardcore: false. Cheats: false Forced entities: 133 total; [EntitySkeleton['Skeleton'/50688, l='MpServer', x=1434.50, y=5.50, z=941.50], EntityZombie['Zombie'/50689, l='MpServer', x=1436.50, y=5.50, z=941.50], EntityBabySpider['Baby Spider'/50690, l='MpServer', x=1435.50, y=5.50, z=942.50], EntityBabySkeleton['Baby Skeleton'/50691, l='MpServer', x=1434.50, y=5.50, z=942.50], EntityBabyWitherSkeleton['Baby Wither Skeleton'/50692, l='MpServer', x=1433.50, y=5.50, z=942.50], EntityBabyWitherSkeleton['Baby Wither Skeleton'/50694, l='MpServer', x=1433.50, y=5.50, z=941.50], EntityCreeper['Creeper'/50695, l='MpServer', x=1431.50, y=5.50, z=941.50], EntityBabyCreeper['Baby Creeper'/50696, l='MpServer', x=1432.50, y=5.50, z=942.50], EntityEnderman['Enderman'/50697, l='MpServer', x=1405.32, y=4.50, z=915.79], EntityBabyEnderman['Baby Enderman'/50699, l='MpServer', x=1445.19, y=4.52, z=925.91], EntityBabyBlaze['Baby Blaze'/50700, l='MpServer', x=1428.50, y=5.50, z=942.50], EntityBabyEnderman['Baby Enderman'/50701, l='MpServer', x=1426.03, y=4.52, z=958.81], EntityWitch['Witch'/50702, l='MpServer', x=1427.50, y=5.50, z=941.50], EntityBlaze['Blaze'/50703, l='MpServer', x=1428.50, y=5.50, z=941.50], EntityBabyEnderman['Baby Enderman'/50706, l='MpServer', x=1430.53, y=4.52, z=970.84], EntityBabyCreeper['Baby Creeper'/50712, l='MpServer', x=1431.50, y=5.50, z=942.50], EntityBabyCreeper['Baby Creeper'/54298, l='MpServer', x=1431.50, y=5.50, z=942.50], EntityBabyGuardian['Baby Guardian'/50717, l='MpServer', x=1426.50, y=5.50, z=942.50], EntityBabyWitch['Baby Witch'/50723, l='MpServer', x=1427.50, y=5.50, z=942.50], EntityCreeper['Creeper'/50726, l='MpServer', x=1432.50, y=5.50, z=941.50], EntityBabyPigZombie['Baby Zombie Pigman'/53308, l='MpServer', x=1437.50, y=5.50, z=942.50], EntityPigZombie['Zombie Pigman'/53309, l='MpServer', x=1437.50, y=5.50, z=941.50], EntityPlayerSP['Player209'/63, l='MpServer', x=1438.26, y=4.00, z=945.65], EntityBabyGuardian['Baby Guardian'/54336, l='MpServer', x=1426.50, y=5.50, z=942.50], EntityBabyWitch['Baby Witch'/54339, l='MpServer', x=1427.50, y=5.50, z=942.50], EntityBabyCreeper['Baby Creeper'/54344, l='MpServer', x=1432.50, y=5.50, z=941.50], EntitySpider['Spider'/53327, l='MpServer', x=1435.50, y=5.50, z=941.50], EntityBabyZombie['Baby Zombie'/53328, l='MpServer', x=1436.50, y=5.50, z=942.50], EntitySkeleton['Skeleton'/53329, l='MpServer', x=1434.50, y=5.50, z=941.50], EntityZombie['Zombie'/53333, l='MpServer', x=1436.50, y=5.50, z=941.50], EntityBabySpider['Baby Spider'/53337, l='MpServer', x=1435.50, y=5.50, z=942.50], EntityBabySkeleton['Baby Skeleton'/53345, l='MpServer', x=1434.50, y=5.50, z=942.50], EntityBabyWitherSkeleton['Baby Wither Skeleton'/53455, l='MpServer', x=1433.50, y=5.50, z=942.50], EntitySkeleton['Skeleton'/53456, l='MpServer', x=1433.50, y=5.50, z=941.50], EntityCreeper['Creeper'/53457, l='MpServer', x=1431.50, y=5.50, z=941.50], EntityBabyCreeper['Baby Creeper'/53458, l='MpServer', x=1432.50, y=5.50, z=942.50], EntityEnderman['Enderman'/53459, l='MpServer', x=1409.34, y=4.52, z=940.78], EntityBabyEnderman['Baby Enderman'/53460, l='MpServer', x=1430.50, y=5.50, z=942.50], EntityBabyBlaze['Baby Blaze'/53461, l='MpServer', x=1428.50, y=5.50, z=942.50], EntityBabyEnderman['Baby Enderman'/53462, l='MpServer', x=1429.50, y=5.50, z=942.50], EntityBabyWitch['Baby Witch'/53464, l='MpServer', x=1427.50, y=5.50, z=941.50], EntityBlaze['Blaze'/53465, l='MpServer', x=1428.50, y=5.50, z=941.50], EntityBabyEnderman['Baby Enderman'/53467, l='MpServer', x=1435.94, y=4.52, z=953.34], EntityBabyCreeper['Baby Creeper'/53468, l='MpServer', x=1431.50, y=5.50, z=942.50], EntityBabyGuardian['Baby Guardian'/53469, l='MpServer', x=1426.50, y=5.50, z=942.50], EntityBabyWitch['Baby Witch'/53470, l='MpServer', x=1427.50, y=5.50, z=942.50], EntityCreeper['Creeper'/53471, l='MpServer', x=1432.50, y=5.50, z=941.50], EntityBabyPigZombie['Baby Zombie Pigman'/52535, l='MpServer', x=1437.50, y=5.50, z=942.50], EntityPigZombie['Zombie Pigman'/52536, l='MpServer', x=1437.50, y=5.50, z=941.50], EntityBabySpider['Baby Spider'/52564, l='MpServer', x=1435.50, y=5.50, z=941.50], EntityBabyZombie['Baby Zombie'/52565, l='MpServer', x=1436.50, y=5.50, z=942.50], EntitySkeleton['Skeleton'/52566, l='MpServer', x=1434.50, y=5.50, z=941.50], EntityZombie['Zombie'/52567, l='MpServer', x=1436.50, y=5.50, z=941.50], EntityBabySpider['Baby Spider'/52568, l='MpServer', x=1435.50, y=5.50, z=942.50], EntityBabySkeleton['Baby Skeleton'/52569, l='MpServer', x=1434.50, y=5.50, z=942.50], EntityBabyWitherSkeleton['Baby Wither Skeleton'/52570, l='MpServer', x=1433.50, y=5.50, z=942.50], EntitySkeleton['Skeleton'/52571, l='MpServer', x=1433.50, y=5.50, z=941.50], EntityCreeper['Creeper'/52572, l='MpServer', x=1431.50, y=5.50, z=941.50], EntityBabyCreeper['Baby Creeper'/52573, l='MpServer', x=1432.50, y=5.50, z=942.50], EntityEnderman['Enderman'/52574, l='MpServer', x=1431.78, y=4.52, z=925.00], EntityBabyEnderman['Baby Enderman'/52576, l='MpServer', x=1430.50, y=5.50, z=942.50], EntityBabyBlaze['Baby Blaze'/52577, l='MpServer', x=1428.50, y=5.50, z=942.50], EntityBabyEnderman['Baby Enderman'/52578, l='MpServer', x=1438.41, y=4.50, z=927.33], EntityWitch['Witch'/52579, l='MpServer', x=1427.50, y=5.50, z=941.50], EntityBabyBlaze['Baby Blaze'/52581, l='MpServer', x=1428.50, y=5.50, z=941.50], EntityEnderman['Enderman'/52584, l='MpServer', x=1408.00, y=4.52, z=955.59], EntityBabyCreeper['Baby Creeper'/52588, l='MpServer', x=1431.50, y=5.50, z=942.50], EntityBabyGuardian['Baby Guardian'/52598, l='MpServer', x=1426.50, y=5.50, z=942.50], EntityBabyPigZombie['Baby Zombie Pigman'/51578, l='MpServer', x=1437.50, y=5.50, z=942.50], EntityPigZombie['Zombie Pigman'/51579, l='MpServer', x=1437.50, y=5.50, z=941.50], EntityBabyWitch['Baby Witch'/52604, l='MpServer', x=1427.50, y=5.50, z=942.50], EntityCreeper['Creeper'/52608, l='MpServer', x=1432.50, y=5.50, z=941.50], EntitySpider['Spider'/51603, l='MpServer', x=1435.50, y=5.50, z=941.50], EntityBabyZombie['Baby Zombie'/51604, l='MpServer', x=1436.50, y=5.50, z=942.50], EntityBabySkeleton['Baby Skeleton'/51606, l='MpServer', x=1434.50, y=5.50, z=941.50], EntityBabyZombie['Baby Zombie'/51608, l='MpServer', x=1436.50, y=5.50, z=941.50], EntityBabySpider['Baby Spider'/51609, l='MpServer', x=1435.50, y=5.50, z=942.50], EntityBabySkeleton['Baby Skeleton'/51610, l='MpServer', x=1434.50, y=5.50, z=942.50], EntityBabyWitherSkeleton['Baby Wither Skeleton'/51611, l='MpServer', x=1433.50, y=5.50, z=942.50], EntitySkeleton['Skeleton'/51612, l='MpServer', x=1433.50, y=5.50, z=941.50], EntityBabyCreeper['Baby Creeper'/51614, l='MpServer', x=1431.50, y=5.50, z=941.50], EntityBabyCreeper['Baby Creeper'/51616, l='MpServer', x=1432.50, y=5.50, z=942.50], EntityEnderman['Enderman'/51617, l='MpServer', x=1429.50, y=5.50, z=941.50], EntityBabyEnderman['Baby Enderman'/51618, l='MpServer', x=1430.50, y=5.50, z=942.50], EntityBabyBlaze['Baby Blaze'/51619, l='MpServer', x=1428.50, y=5.50, z=942.50], EntityBabyEnderman['Baby Enderman'/51621, l='MpServer', x=1429.50, y=5.50, z=942.50], EntityBabyPigZombie['Baby Zombie Pigman'/54181, l='MpServer', x=1437.50, y=5.50, z=942.50], EntityPigZombie['Zombie Pigman'/54182, l='MpServer', x=1437.50, y=5.50, z=941.50], EntityItem['item.item.rottenFlesh'/54183, l='MpServer', x=1437.50, y=5.72, z=942.69], EntityItem['item.item.goldNugget'/54184, l='MpServer', x=1437.28, y=5.72, z=942.37], EntityItem['item.item.rottenFlesh'/54185, l='MpServer', x=1437.64, y=5.72, z=941.22], EntityItem['item.item.rottenFlesh'/54186, l='MpServer', x=1436.60, y=5.72, z=942.87], EntityWitch['Witch'/51627, l='MpServer', x=1427.50, y=5.50, z=941.50], EntityItem['item.item.rottenFlesh'/54187, l='MpServer', x=1436.25, y=5.72, z=942.23], EntityItem['item.item.string'/54188, l='MpServer', x=1435.40, y=5.72, z=941.87], EntityItem['item.item.string'/54189, l='MpServer', x=1435.37, y=5.72, z=941.50], EntityItem['item.item.string'/54190, l='MpServer', x=1435.60, y=5.72, z=942.81], EntityBlaze['Blaze'/51631, l='MpServer', x=1428.50, y=5.50, z=941.50], EntityItem['item.item.string'/54191, l='MpServer', x=1435.31, y=5.72, z=942.84], EntityItem['item.item.bone'/54192, l='MpServer', x=1434.50, y=5.72, z=941.27], EntityItem['item.item.skull.wither'/54193, l='MpServer', x=1433.56, y=5.72, z=942.17], EntityItem['item.item.bone'/54194, l='MpServer', x=1433.38, y=5.72, z=942.21], EntityItem['item.item.coal'/54195, l='MpServer', x=1433.20, y=5.72, z=941.24], EntityEnderman['Enderman'/51636, l='MpServer', x=1430.50, y=5.50, z=941.50], EntityItem['item.item.bone'/54196, l='MpServer', x=1433.80, y=5.72, z=941.65], EntityItem['item.item.sulphur'/54197, l='MpServer', x=1431.56, y=5.72, z=941.18], EntityItem['item.item.sulphur'/54198, l='MpServer', x=1431.28, y=5.72, z=942.20], EntityItem['item.item.enderPearl'/54199, l='MpServer', x=1429.22, y=5.72, z=941.79], EntityItem['item.item.yellowDust'/54200, l='MpServer', x=1427.46, y=5.72, z=941.45], EntityItem['item.item.prismarineShard'/54201, l='MpServer', x=1426.42, y=6.72, z=942.84], EntityBabyCreeper['Baby Creeper'/51642, l='MpServer', x=1431.50, y=5.50, z=942.50], EntityBabySpider['Baby Spider'/54203, l='MpServer', x=1435.50, y=5.50, z=941.50], EntityBabyZombie['Baby Zombie'/54204, l='MpServer', x=1436.50, y=5.50, z=942.50], EntitySkeleton['Skeleton'/54205, l='MpServer', x=1434.50, y=5.50, z=941.50], EntityZombie['Zombie'/54206, l='MpServer', x=1436.50, y=5.50, z=941.50], EntityBabySpider['Baby Spider'/54207, l='MpServer', x=1435.50, y=5.50, z=942.50], EntityBabySkeleton['Baby Skeleton'/54208, l='MpServer', x=1434.50, y=5.50, z=942.50], EntityBabyWitherSkeleton['Baby Wither Skeleton'/54209, l='MpServer', x=1433.50, y=5.50, z=942.50], EntitySkeleton['Skeleton'/54210, l='MpServer', x=1433.50, y=5.50, z=941.50], EntityCreeper['Creeper'/54211, l='MpServer', x=1431.50, y=5.50, z=941.50], EntityBabyCreeper['Baby Creeper'/54212, l='MpServer', x=1432.50, y=5.50, z=942.50], EntityEnderman['Enderman'/54214, l='MpServer', x=1429.50, y=5.50, z=941.50], EntityBabyEnderman['Baby Enderman'/54215, l='MpServer', x=1430.50, y=5.50, z=942.50], EntityBabyBlaze['Baby Blaze'/54216, l='MpServer', x=1428.50, y=5.50, z=942.50], EntityBabyEnderman['Baby Enderman'/54217, l='MpServer', x=1429.50, y=5.50, z=942.50], EntityWitch['Witch'/54224, l='MpServer', x=1427.50, y=5.50, z=941.50], EntityBabyGuardian['Baby Guardian'/51671, l='MpServer', x=1426.50, y=5.50, z=942.50], EntityBabyWitch['Baby Witch'/51672, l='MpServer', x=1427.50, y=5.50, z=942.50], EntityBabyCreeper['Baby Creeper'/51675, l='MpServer', x=1432.50, y=5.50, z=941.50], EntityBlaze['Blaze'/54235, l='MpServer', x=1428.50, y=5.50, z=941.50], EntityEnderman['Enderman'/54237, l='MpServer', x=1430.50, y=5.50, z=941.50], EntitySpider['Spider'/50686, l='MpServer', x=1435.50, y=5.50, z=941.50], EntityBabyZombie['Baby Zombie'/50687, l='MpServer', x=1436.50, y=5.50, z=942.50]] Retry entities: 0 total; [] Server brand: fml,forge Server type: Integrated singleplayer server Stacktrace: at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:392) at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2614) at net.minecraft.client.Minecraft.run(Minecraft.java:398) at net.minecraft.client.main.Main.main(Main.java:117) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) at net.minecraft.launchwrapper.Launch.main(Launch.java:28) at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) at GradleStart.main(Unknown Source) -- System Details -- Details: Minecraft Version: 1.8 Operating System: Windows 10 (amd64) version 10.0 Java Version: 1.8.0_60, Oracle Corporation Java VM Version: Java HotSpot 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 1908889384 bytes (1820 MB) / 2112618496 bytes (2014 MB) up to 2112618496 bytes (2014 MB) JVM Flags: 3 total; -Xincgc -Xmx2048M -Xms2048M IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0 FML: MCP v9.10 FML v8.0.99.99 Minecraft Forge 11.14.3.1450 5 mods loaded, 5 mods active States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored UCHIJAAAA mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) UCHIJAAAA FML{8.0.99.99} [Forge Mod Loader] (forgeSrc-1.8-11.14.3.1450.jar) UCHIJAAAA Forge{11.14.3.1450} [Minecraft Forge] (forgeSrc-1.8-11.14.3.1450.jar) UCHIJAAAA CodeChickenCore{1.0.5.34} [CodeChicken Core] (minecraft.jar) UCHIJAAAA babymobs{1.0} [baby Mobs Mod] (bin) Loaded coremods (and transformers): CCCDeobfPlugin (unknown) CodeChickenCorePlugin (CodeChickenCore-1.8-1.0.5.34-dev.jar) codechicken.core.asm.InterfaceDependancyTransformer codechicken.core.asm.TweakTransformer codechicken.core.asm.DelegatedTransformer codechicken.core.asm.DefaultImplementationTransformer CCLCorePlugin (CodeChickenLib-1.8-1.1.2.115-dev.jar) codechicken.lib.asm.ClassHeirachyManager codechicken.lib.asm.RenderHookTransformer GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.5.0 NVIDIA 358.50' Renderer: 'GeForce GTX 960/PCIe/SSE2' Launched Version: 1.8 LWJGL: 2.9.1 OpenGL: GeForce GTX 960/PCIe/SSE2 GL version 4.5.0 NVIDIA 358.50, NVIDIA Corporation GL Caps: Using GL 1.3 multitexturing. Using GL 1.3 texture combiners. Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported. Shaders are available because OpenGL 2.1 is supported. VBOs are available because OpenGL 1.5 is supported. Using VBOs: No Is Modded: Definitely; Client brand changed to 'fml,forge' Type: Client (map_client.txt) Resource Packs: [] Current Language: English (US) Profiler Position: N/A (disabled) [/spoiler] //update the particle's movement this.moveEntity(this.motionX, this.motionY, this.motionZ); Crashlog: ---- Minecraft Crash Report ---- WARNING: coremods are present: CCCDeobfPlugin (unknown) CodeChickenCorePlugin (CodeChickenCore-1.8-1.0.5.34-dev.jar) CCLCorePlugin (CodeChickenLib-1.8-1.1.2.115-dev.jar) Contact their authors BEFORE contacting forge // Why is it breaking Time: 10/13/15 11:38 AM Description: Ticking Particle java.util.ConcurrentModificationException at java.util.HashMap$HashIterator.nextNode(Unknown Source) at java.util.HashMap$KeyIterator.next(Unknown Source) at com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator.next(AbstractMapBasedMultimap.java:486) at net.minecraft.util.ClassInheritanceMultiMap$2.computeNext(ClassInheritanceMultiMap.java:125) at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) at net.minecraft.world.chunk.Chunk.getEntitiesWithinAABBForEntity(Chunk.java:1065) at net.minecraft.world.World.func_175674_a(World.java:3223) at net.minecraft.world.World.getEntitiesWithinAABBExcludingEntity(World.java:3206) at net.minecraft.world.World.getCollidingBoundingBoxes(World.java:1366) at net.minecraft.entity.Entity.moveEntity(Entity.java:639) at mod.babyMobs.particles.EntityCustomParticleFX.updateEffects(EntityCustomParticleFX.java:218) at mod.babyMobs.particles.EntityCustomParticleFX.onUpdate(EntityCustomParticleFX.java:66) at net.minecraft.client.particle.EffectRenderer.func_178923_d(EffectRenderer.java:211) at net.minecraft.client.particle.EffectRenderer.func_178925_a(EffectRenderer.java:196) at net.minecraft.client.particle.EffectRenderer.func_178922_a(EffectRenderer.java:185) at net.minecraft.client.particle.EffectRenderer.updateEffects(EffectRenderer.java:161) at net.minecraft.client.Minecraft.runTick(Minecraft.java:2233) at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1087) at net.minecraft.client.Minecraft.run(Minecraft.java:376) at net.minecraft.client.main.Main.main(Main.java:117) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) at net.minecraft.launchwrapper.Launch.main(Launch.java:28) at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) at GradleStart.main(Unknown Source) A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Stacktrace: at java.util.HashMap$HashIterator.nextNode(Unknown Source) at java.util.HashMap$KeyIterator.next(Unknown Source) at com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator.next(AbstractMapBasedMultimap.java:486) at net.minecraft.util.ClassInheritanceMultiMap$2.computeNext(ClassInheritanceMultiMap.java:125) at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) at net.minecraft.world.chunk.Chunk.getEntitiesWithinAABBForEntity(Chunk.java:1065) at net.minecraft.world.World.func_175674_a(World.java:3223) at net.minecraft.world.World.getEntitiesWithinAABBExcludingEntity(World.java:3206) at net.minecraft.world.World.getCollidingBoundingBoxes(World.java:1366) at net.minecraft.entity.Entity.moveEntity(Entity.java:639) at mod.babyMobs.particles.EntityCustomParticleFX.updateEffects(EntityCustomParticleFX.java:218) at mod.babyMobs.particles.EntityCustomParticleFX.onUpdate(EntityCustomParticleFX.java:66) -- Particle being ticked -- Details: Particle: EntityCustomParticleFX, Pos (1432.069783757972,5.257951878338808,942.7485693894745), RGBA (255.0,255.0,255.0,1.0), Age 10 Particle Type: MISC_TEXTURE Stacktrace: at net.minecraft.client.particle.EffectRenderer.func_178923_d(EffectRenderer.java:211) at net.minecraft.client.particle.EffectRenderer.func_178925_a(EffectRenderer.java:196) at net.minecraft.client.particle.EffectRenderer.func_178922_a(EffectRenderer.java:185) at net.minecraft.client.particle.EffectRenderer.updateEffects(EffectRenderer.java:161) -- Affected level -- Details: Level name: MpServer All players: 1 total; [EntityPlayerSP['Player843'/319, l='MpServer', x=1438.26, y=4.00, z=945.65]] Chunk stats: MultiplayerChunkCache: 441, 441 Level seed: 0 Level generator: ID 01 - flat, ver 0. Features enabled: false Level generator options: Level spawn location: 1443.00,4.00,948.00 - World: (1443,4,948), Chunk: (at 3,0,4 in 90,59; contains blocks 1440,0,944 to 1455,255,959), Region: (2,1; contains chunks 64,32 to 95,63, blocks 1024,0,512 to 1535,255,1023) Level time: 2271547 game time, 1000 day time Level dimension: 0 Level storage version: 0x00000 - Unknown? Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false) Level game mode: Game mode: survival (ID 0). Hardcore: false. Cheats: false Forced entities: 142 total; [EntityBabyPigZombie['Baby Zombie Pigman'/11325, l='MpServer', x=1437.50, y=5.50, z=942.50], EntityPigZombie['Zombie Pigman'/11326, l='MpServer', x=1437.50, y=5.50, z=941.50], EntityBabyPigZombie['Baby Zombie Pigman'/10816, l='MpServer', x=1437.50, y=5.50, z=942.50], EntityBabyPigZombie['Baby Zombie Pigman'/10819, l='MpServer', x=1437.50, y=5.50, z=941.50], EntitySpider['Spider'/10843, l='MpServer', x=1435.50, y=5.50, z=941.50], EntityBabyZombie['Baby Zombie'/10844, l='MpServer', x=1436.50, y=5.50, z=942.50], EntitySkeleton['Skeleton'/10845, l='MpServer', x=1434.50, y=5.50, z=941.50], EntitySpider['Spider'/11357, l='MpServer', x=1435.50, y=5.50, z=941.50], EntityZombie['Zombie'/10846, l='MpServer', x=1436.50, y=5.50, z=941.50], EntityBabyZombie['Baby Zombie'/11358, l='MpServer', x=1436.50, y=5.50, z=942.50], EntityBabyPigZombie['Baby Zombie Pigman'/11870, l='MpServer', x=1437.50, y=5.50, z=942.50], EntityBabySpider['Baby Spider'/10847, l='MpServer', x=1435.50, y=5.50, z=942.50], EntitySkeleton['Skeleton'/11359, l='MpServer', x=1434.50, y=5.50, z=941.50], EntityBabySkeleton['Baby Skeleton'/10848, l='MpServer', x=1434.50, y=5.50, z=942.50], EntityZombie['Zombie'/11360, l='MpServer', x=1436.50, y=5.50, z=941.50], EntityPigZombie['Zombie Pigman'/11872, l='MpServer', x=1437.50, y=5.50, z=941.50], EntityBabyPigZombie['Baby Zombie Pigman'/12384, l='MpServer', x=1437.50, y=5.50, z=942.50], EntityBabyWitherSkeleton['Baby Wither Skeleton'/10849, l='MpServer', x=1433.50, y=5.50, z=942.50], EntityBabySpider['Baby Spider'/11361, l='MpServer', x=1435.50, y=5.50, z=942.50], EntityItem['item.item.goldNugget'/11873, l='MpServer', x=1437.78, y=5.72, z=941.76], EntitySkeleton['Skeleton'/10850, l='MpServer', x=1433.50, y=5.50, z=941.50], EntityBabySkeleton['Baby Skeleton'/11362, l='MpServer', x=1434.50, y=5.50, z=942.50], EntityItem['item.item.rottenFlesh'/11874, l='MpServer', x=1436.13, y=5.72, z=941.61], EntityCreeper['Creeper'/10851, l='MpServer', x=1431.50, y=5.50, z=941.50], EntityBabyWitherSkeleton['Baby Wither Skeleton'/11363, l='MpServer', x=1433.50, y=5.50, z=942.50], EntityItem['item.item.rottenFlesh'/11875, l='MpServer', x=1436.57, y=5.72, z=941.67], EntityBabyCreeper['Baby Creeper'/10852, l='MpServer', x=1432.50, y=5.50, z=942.50], EntitySkeleton['Skeleton'/11364, l='MpServer', x=1433.50, y=5.50, z=941.50], EntityItem['item.item.string'/11876, l='MpServer', x=1435.24, y=5.72, z=941.50], EntityItem['item.item.string'/11877, l='MpServer', x=1435.45, y=5.72, z=941.23], EntityBabyEnderman['Baby Enderman'/10854, l='MpServer', x=1426.61, y=4.50, z=929.78], EntityBabyCreeper['Baby Creeper'/11366, l='MpServer', x=1431.50, y=5.50, z=941.50], EntityItem['item.item.string'/11878, l='MpServer', x=1435.78, y=5.72, z=942.74], EntityBabyEnderman['Baby Enderman'/10855, l='MpServer', x=1442.22, y=4.52, z=937.88], EntityBabyCreeper['Baby Creeper'/11367, l='MpServer', x=1432.50, y=5.50, z=942.50], EntityItem['item.item.arrow'/11879, l='MpServer', x=1434.61, y=5.72, z=941.29], EntityBabyBlaze['Baby Blaze'/10856, l='MpServer', x=1428.50, y=5.50, z=942.50], EntityEnderman['Enderman'/11368, l='MpServer', x=1431.34, y=4.50, z=965.91], EntityItem['item.item.arrow'/11880, l='MpServer', x=1434.24, y=5.72, z=941.69], EntityBabyEnderman['Baby Enderman'/10857, l='MpServer', x=1444.94, y=4.52, z=921.94], EntityBabyEnderman['Baby Enderman'/11369, l='MpServer', x=1442.39, y=4.50, z=946.24], EntityItem['item.item.bone'/11881, l='MpServer', x=1434.45, y=5.72, z=941.48], EntityBabyBlaze['Baby Blaze'/11370, l='MpServer', x=1428.50, y=5.50, z=942.50], EntityItem['item.item.bone'/11882, l='MpServer', x=1434.78, y=5.72, z=941.44], EntityBabyWitch['Baby Witch'/10859, l='MpServer', x=1427.50, y=5.50, z=941.50], EntityBabyEnderman['Baby Enderman'/11371, l='MpServer', x=1401.94, y=4.52, z=917.06], EntityItem['item.item.bone'/11883, l='MpServer', x=1434.30, y=5.72, z=942.61], EntityBlaze['Blaze'/10860, l='MpServer', x=1428.50, y=5.50, z=941.50], EntityItem['item.item.coal'/11884, l='MpServer', x=1433.16, y=5.72, z=942.82], EntityBabyPigZombie['Baby Zombie Pigman'/10349, l='MpServer', x=1437.50, y=5.50, z=942.50], EntityEnderman['Enderman'/10861, l='MpServer', x=1434.19, y=4.52, z=929.16], EntityBabyWitch['Baby Witch'/11373, l='MpServer', x=1427.50, y=5.50, z=941.50], EntityItem['item.item.bone'/11885, l='MpServer', x=1433.27, y=5.72, z=942.21], EntityBabyCreeper['Baby Creeper'/10862, l='MpServer', x=1431.50, y=5.50, z=942.50], EntityBlaze['Blaze'/11374, l='MpServer', x=1428.50, y=5.50, z=941.50], EntityItem['item.item.bone'/11886, l='MpServer', x=1433.75, y=5.72, z=942.32], EntityBabyPigZombie['Baby Zombie Pigman'/10351, l='MpServer', x=1437.50, y=5.50, z=941.50], EntityBabyGuardian['Baby Guardian'/10863, l='MpServer', x=1426.50, y=5.50, z=942.50], EntityEnderman['Enderman'/11375, l='MpServer', x=1430.50, y=5.50, z=941.50], EntityItem['item.item.coal'/11887, l='MpServer', x=1433.47, y=5.72, z=941.79], EntityBabyWitch['Baby Witch'/10864, l='MpServer', x=1427.50, y=5.50, z=942.50], EntityBabyCreeper['Baby Creeper'/11376, l='MpServer', x=1431.50, y=5.50, z=942.50], EntityItem['item.item.sulphur'/11888, l='MpServer', x=1432.74, y=5.72, z=942.55], EntityCreeper['Creeper'/10865, l='MpServer', x=1432.50, y=5.50, z=941.50], EntityBabyGuardian['Baby Guardian'/11377, l='MpServer', x=1426.50, y=5.50, z=942.50], EntityItem['item.item.sulphur'/11889, l='MpServer', x=1432.13, y=5.72, z=941.37], EntityBabyWitch['Baby Witch'/11378, l='MpServer', x=1427.50, y=5.50, z=942.50], EntityItem['item.item.sulphur'/11890, l='MpServer', x=1432.56, y=5.72, z=941.32], EntityCreeper['Creeper'/11379, l='MpServer', x=1432.50, y=5.50, z=941.50], EntityItem['item.item.sulphur'/11891, l='MpServer', x=1431.26, y=5.72, z=941.86], EntityItem['item.item.sulphur'/11892, l='MpServer', x=1431.17, y=5.72, z=942.36], EntityItem['item.item.enderPearl'/11893, l='MpServer', x=1430.64, y=5.72, z=941.49], EntityItem['item.item.stick'/11894, l='MpServer', x=1427.39, y=5.72, z=941.64], EntityItem['item.item.stick'/11895, l='MpServer', x=1427.33, y=5.72, z=941.82], EntityItem['item.item.sulphur'/11896, l='MpServer', x=1427.39, y=5.72, z=942.78], EntityItem['item.item.stick'/11897, l='MpServer', x=1427.27, y=5.72, z=942.85], EntityItem['item.item.stick'/11898, l='MpServer', x=1427.44, y=5.72, z=942.65], EntityItem['item.item.fish.cod.raw'/11899, l='MpServer', x=1426.76, y=6.72, z=942.60], EntitySpider['Spider'/11900, l='MpServer', x=1435.50, y=5.50, z=941.50], EntityBabyZombie['Baby Zombie'/11901, l='MpServer', x=1436.50, y=5.50, z=942.50], EntitySkeleton['Skeleton'/11902, l='MpServer', x=1434.50, y=5.50, z=941.50], EntityBabyZombie['Baby Zombie'/11904, l='MpServer', x=1436.50, y=5.50, z=941.50], EntityBabySpider['Baby Spider'/11905, l='MpServer', x=1435.50, y=5.50, z=942.50], EntityBabySkeleton['Baby Skeleton'/11906, l='MpServer', x=1434.50, y=5.50, z=942.50], EntityBabyWitherSkeleton['Baby Wither Skeleton'/11907, l='MpServer', x=1433.50, y=5.50, z=942.50], EntityBabyWitherSkeleton['Baby Wither Skeleton'/11909, l='MpServer', x=1433.50, y=5.50, z=941.50], EntityCreeper['Creeper'/11910, l='MpServer', x=1431.50, y=5.50, z=941.50], EntityBabyCreeper['Baby Creeper'/11911, l='MpServer', x=1432.50, y=5.50, z=942.50], EntityBabyEnderman['Baby Enderman'/11913, l='MpServer', x=1429.50, y=5.50, z=941.50], EntityBabyEnderman['Baby Enderman'/11914, l='MpServer', x=1430.50, y=5.50, z=942.50], EntityBabyBlaze['Baby Blaze'/11915, l='MpServer', x=1428.50, y=5.50, z=942.50], EntityBabyEnderman['Baby Enderman'/11916, l='MpServer', x=1429.50, y=5.50, z=942.50], EntityWitch['Witch'/11917, l='MpServer', x=1427.50, y=5.50, z=941.50], EntityBlaze['Blaze'/11918, l='MpServer', x=1428.50, y=5.50, z=941.50], EntityEnderman['Enderman'/11919, l='MpServer', x=1430.50, y=5.50, z=941.50], EntityBabyCreeper['Baby Creeper'/11920, l='MpServer', x=1431.50, y=5.50, z=942.50], EntityBabyGuardian['Baby Guardian'/11921, l='MpServer', x=1426.50, y=5.50, z=942.50], EntityBabyWitch['Baby Witch'/11922, l='MpServer', x=1427.50, y=5.50, z=942.50], EntityCreeper['Creeper'/11923, l='MpServer', x=1432.50, y=5.50, z=941.50], EntitySpider['Spider'/10431, l='MpServer', x=1435.50, y=5.50, z=941.50], EntityBabyZombie['Baby Zombie'/10441, l='MpServer', x=1436.50, y=5.50, z=942.50], EntitySkeleton['Skeleton'/10442, l='MpServer', x=1434.50, y=5.50, z=941.50], EntityZombie['Zombie'/10443, l='MpServer', x=1436.50, y=5.50, z=941.50], EntityBabySpider['Baby Spider'/10444, l='MpServer', x=1435.50, y=5.50, z=942.50], EntityBabySkeleton['Baby Skeleton'/10445, l='MpServer', x=1434.50, y=5.50, z=942.50], EntityBabyWitherSkeleton['Baby Wither Skeleton'/10446, l='MpServer', x=1433.50, y=5.50, z=942.50], EntitySkeleton['Skeleton'/10447, l='MpServer', x=1433.50, y=5.50, z=941.50], EntityCreeper['Creeper'/10448, l='MpServer', x=1431.50, y=5.50, z=941.50], EntityBabyCreeper['Baby Creeper'/10449, l='MpServer', x=1432.50, y=5.50, z=942.50], EntityEnderman['Enderman'/10450, l='MpServer', x=1435.65, y=4.50, z=922.39], EntityBabyEnderman['Baby Enderman'/10451, l='MpServer', x=1430.50, y=5.50, z=942.50], EntityBabyBlaze['Baby Blaze'/10452, l='MpServer', x=1428.50, y=5.50, z=942.50], EntityBabyEnderman['Baby Enderman'/10453, l='MpServer', x=1399.44, y=4.52, z=943.81], EntityWitch['Witch'/10454, l='MpServer', x=1427.50, y=5.50, z=941.50], EntityBlaze['Blaze'/10455, l='MpServer', x=1428.50, y=5.50, z=941.50], EntityEnderman['Enderman'/10456, l='MpServer', x=1429.32, y=6.50, z=952.14], EntityBabyCreeper['Baby Creeper'/10457, l='MpServer', x=1431.50, y=5.50, z=942.50], EntityBabyGuardian['Baby Guardian'/10458, l='MpServer', x=1426.50, y=5.50, z=942.50], EntityBabyWitch['Baby Witch'/10459, l='MpServer', x=1427.50, y=5.50, z=942.50], EntityCreeper['Creeper'/10460, l='MpServer', x=1432.50, y=5.50, z=941.50], EntityPlayerSP['Player843'/319, l='MpServer', x=1438.26, y=4.00, z=945.65], EntityBabySpider['Baby Spider'/10111, l='MpServer', x=1435.50, y=5.50, z=941.50], EntityBabyZombie['Baby Zombie'/10112, l='MpServer', x=1436.50, y=5.50, z=942.50], EntitySkeleton['Skeleton'/10113, l='MpServer', x=1434.50, y=5.50, z=941.50], EntityZombie['Zombie'/10114, l='MpServer', x=1436.50, y=5.50, z=941.50], EntityBabySpider['Baby Spider'/10115, l='MpServer', x=1435.50, y=5.50, z=942.50], EntityBabySkeleton['Baby Skeleton'/10116, l='MpServer', x=1434.50, y=5.50, z=942.50], EntityBabyWitherSkeleton['Baby Wither Skeleton'/10117, l='MpServer', x=1433.50, y=5.50, z=942.50], EntitySkeleton['Skeleton'/10118, l='MpServer', x=1433.50, y=5.50, z=941.50], EntityBabyCreeper['Baby Creeper'/10120, l='MpServer', x=1431.50, y=5.50, z=941.50], EntityBabyCreeper['Baby Creeper'/10121, l='MpServer', x=1432.50, y=5.50, z=942.50], EntityEnderman['Enderman'/10122, l='MpServer', x=1402.67, y=4.50, z=938.15], EntityBabyEnderman['Baby Enderman'/10123, l='MpServer', x=1458.78, y=4.52, z=927.25], EntityBabyBlaze['Baby Blaze'/10124, l='MpServer', x=1428.50, y=5.50, z=942.50], EntityBabyEnderman['Baby Enderman'/10125, l='MpServer', x=1401.95, y=4.50, z=943.03], EntityBabyWitch['Baby Witch'/10127, l='MpServer', x=1427.50, y=5.50, z=941.50], EntityBlaze['Blaze'/10128, l='MpServer', x=1428.50, y=5.50, z=941.50], EntityEnderman['Enderman'/10129, l='MpServer', x=1402.92, y=4.50, z=926.03], EntityBabyCreeper['Baby Creeper'/10130, l='MpServer', x=1431.50, y=5.50, z=942.50], EntityBabyGuardian['Baby Guardian'/10131, l='MpServer', x=1426.50, y=5.50, z=942.50], EntityBabyWitch['Baby Witch'/10132, l='MpServer', x=1427.50, y=5.50, z=942.50], EntityCreeper['Creeper'/10133, l='MpServer', x=1432.50, y=5.50, z=941.50]] Retry entities: 0 total; [] Server brand: fml,forge Server type: Integrated singleplayer server Stacktrace: at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:392) at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2614) at net.minecraft.client.Minecraft.run(Minecraft.java:398) at net.minecraft.client.main.Main.main(Main.java:117) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) at net.minecraft.launchwrapper.Launch.main(Launch.java:28) at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) at GradleStart.main(Unknown Source) -- System Details -- Details: Minecraft Version: 1.8 Operating System: Windows 10 (amd64) version 10.0 Java Version: 1.8.0_60, Oracle Corporation Java VM Version: Java HotSpot 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 1860824984 bytes (1774 MB) / 2112618496 bytes (2014 MB) up to 2112618496 bytes (2014 MB) JVM Flags: 3 total; -Xincgc -Xmx2048M -Xms2048M IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0 FML: MCP v9.10 FML v8.0.99.99 Minecraft Forge 11.14.3.1450 5 mods loaded, 5 mods active States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored UCHIJAAAA mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) UCHIJAAAA FML{8.0.99.99} [Forge Mod Loader] (forgeSrc-1.8-11.14.3.1450.jar) UCHIJAAAA Forge{11.14.3.1450} [Minecraft Forge] (forgeSrc-1.8-11.14.3.1450.jar) UCHIJAAAA CodeChickenCore{1.0.5.34} [CodeChicken Core] (minecraft.jar) UCHIJAAAA babymobs{1.0} [baby Mobs Mod] (bin) Loaded coremods (and transformers): CCCDeobfPlugin (unknown) CodeChickenCorePlugin (CodeChickenCore-1.8-1.0.5.34-dev.jar) codechicken.core.asm.InterfaceDependancyTransformer codechicken.core.asm.TweakTransformer codechicken.core.asm.DelegatedTransformer codechicken.core.asm.DefaultImplementationTransformer CCLCorePlugin (CodeChickenLib-1.8-1.1.2.115-dev.jar) codechicken.lib.asm.ClassHeirachyManager codechicken.lib.asm.RenderHookTransformer GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.5.0 NVIDIA 358.50' Renderer: 'GeForce GTX 960/PCIe/SSE2' Launched Version: 1.8 LWJGL: 2.9.1 OpenGL: GeForce GTX 960/PCIe/SSE2 GL version 4.5.0 NVIDIA 358.50, NVIDIA Corporation GL Caps: Using GL 1.3 multitexturing. Using GL 1.3 texture combiners. Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported. Shaders are available because OpenGL 2.1 is supported. VBOs are available because OpenGL 1.5 is supported. Using VBOs: No Is Modded: Definitely; Client brand changed to 'fml,forge' Type: Client (map_client.txt) Resource Packs: [] Current Language: English (US) Profiler Position: N/A (disabled) Any idea why either of these codes are causing the crashes? https://i.gyazo.com/9d22a3d74363977ac76d662e7c22effb.png[/img]
October 13, 20159 yr ConcurrentModificationException happens when you are accessing not synchronized collection (here: HashMap) from wrong thread. To make it clearer: * Particles are client-side ONLY. You are not allowed to spawn them from server thread. You should always inform (e.g by packet) client that "hey, you should spawn particle now" and client should do that. * Since Particles are client-sided, they DO NOT have access to any of server logic. They can only relay on client's data - server doesn't even know if they exist. * You cannot use !world.isRemote (server) whenever you are dealing with particles. So yeah - since each client spawns its own particles and has a little different info (e.g on two different clients a Zombie can stand a little bit furteher than on the other). You cannot expect two clients to act same. We need code, if above won't lead to solution. Also - ever tried running your mod on dedicated + client? I think you might see more problems. 1.7.10 is no longer supported by forge, you are on your own.
October 14, 20159 yr Author Thank you for the awesome explanation Ernio! I changed my custom particle class to only be called on the client side now. Most things function as they should (the particles spawn, move, and detect collisions correctly), but how can I have the particle do things server side (such as lighting an entity on fire) when they collide with an entity? https://i.gyazo.com/9d22a3d74363977ac76d662e7c22effb.png[/img]
October 14, 20159 yr I see what you are attempting to do - Fire-breathing. As mentioned - particles are client-side beings. They don't even exist on server. Imagine if server would have 100 players that all spawn hundreds of particles and server has to move tham around and send position updates about them to all players around - that would kill performance. I actually have a spell that does mentioned "Fire-breathing". You will need to extend EntityThrowable or Entity (depends on logic). When starting using your "flames" you would constantly spawn your FlameEntity on server (spawning entities happens only on server, particles on client) - you would need only one per few ticks, about 5-10 would be fine. Server would only have that FlameEntity that would actually be one which ignites stuff from server side and client would just add its own particles (Display-only for cool effect). 1.7.10 is no longer supported by forge, you are on your own.
October 14, 20159 yr Author One of the things I'm using my custom particle class is for something similar to fire-breathing. But I can also have my custom particles do other things like spawning explosions or giving effects when they collide with a player. Is there any way that I can just have my custom particle class detect when a server-side event should occur (as it does now) and somehow tell the server side to do something (like run a method or a line of code)? Or would I have to use a class that extends Entitythrowable or Entity that runs server side and spawns particles client side, as you suggest? https://i.gyazo.com/9d22a3d74363977ac76d662e7c22effb.png[/img]
October 14, 20159 yr That is totally possible, but don't even think about doing that. Easy way would be to indeed - just spawn particle and make particle send packet to server telling that it hit something (you would probably use entity.entityId in this case). BUT: Easy != Good. Giving clients power to dictate what server should do not only opens ways to do bad stuff to server (remember - server doesn't know about particles, if someone would want he could spawn client-particle everywhere around him and tell server to kill everything around), but also makes MP few times worse. Different client have different particles, each client can have latency/lag, small things will cause massive calculation errors. Proper way of doing what you want is what I alredy told you. (server=side entity). There is however mid-solution. You can actually do everything on client and then just send packet to server, but whenever server receives packet you would need to make calculations that would define if action was legal (e.g enemy hit is in range and is in proper angle (not behind your back). This is STILL BAD solution, but better than just saying "attack that guy, because I (client) tell you". Cheers! 1.7.10 is no longer supported by forge, you are on your own.
October 14, 20159 yr Author That's a good point, I think I'll change my custom particles classes into entity classes and deal with things server side as you suggest. Thank you very much Ernio! https://i.gyazo.com/9d22a3d74363977ac76d662e7c22effb.png[/img]
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.