Jump to content

[SOLVED] [1.8] Crashes with Certain Methods in Custom Particle Class


Furgl

Recommended Posts

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?

 

 

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Hi, I want to make a client-only mod, everything is ok, but when I use shaders, none of the textures rendered in RenderLevelStageEvent nor the crow entity model are rendered, I want them to be visible, because it's a horror themed mod Here is how i render the crow model in the CrowEntityRenderer<CrowEntity>, by the time i use this method, i know is not the right method but i don't think this is the cause of the problem, the renderType i'm using is entityCutout @Override public void render(CrowEntity p_entity, float entityYaw, float partialTick, PoseStack poseStack, MultiBufferSource bufferSource, int packedLight) { super.render(p_entity, entityYaw, partialTick, poseStack, bufferSource, packedLight); ClientEventHandler.getClient().crow.renderToBuffer(poseStack, bufferSource.getBuffer(ClientEventHandler.getClient().crow .renderType(TEXTURE)), packedLight, OverlayTexture.NO_OVERLAY, Utils.rgb(255, 255, 255)); } Here renderLevelStage @Override public void renderWorld(RenderLevelStageEvent e) { horrorEvents.draw(e); } Here is how i render every event public void draw(RenderLevelStageEvent e) { for (HorrorEvent event : currentHorrorEvents) { event.tick(e.getPartialTick()); event.draw(e); } } Here is how i render the crow model on the event @Override public void draw(RenderLevelStageEvent e) { if(e.getStage() == RenderLevelStageEvent.Stage.AFTER_ENTITIES) { float arcProgress = getArcProgress(0.25f); int alpha = (int) Mth.lerp(arcProgress, 0, 255); int packedLight = LevelRenderer.getLightColor(Minecraft.getInstance().level, blockPos); VertexConsumer builder = ClientEventHandler.bufferSource.getBuffer(crow); Crow<CreepyBirdHorrorEvent> model = ClientEventHandler .getClient().crow; model.setupAnim(this); RenderHelper.renderModelInWorld(model, position, offset, e.getCamera(), e.getPoseStack(), builder, packedLight, OverlayTexture.NO_OVERLAY, alpha); builder = ClientEventHandler.bufferSource.getBuffer(eyes); RenderHelper.renderModelInWorld(model, position, offset, e.getCamera(), e.getPoseStack(), builder, 15728880, OverlayTexture.NO_OVERLAY, alpha); } } How i render the model public static void renderModelInWorld(Model model, Vector3f pos, Vector3f offset, Camera camera, PoseStack matrix, VertexConsumer builder, int light, int overlay, int alpha) { matrix.pushPose(); Vec3 cameraPos = camera.getPosition(); double finalX = pos.x - cameraPos.x + offset.x; double finalY = pos.y - cameraPos.y + offset.y; double finalZ = pos.z - cameraPos.z + offset.z; matrix.pushPose(); matrix.translate(finalX, finalY, finalZ); matrix.mulPose(Axis.XP.rotationDegrees(180f)); model.renderToBuffer(matrix, builder, light, overlay, Utils .rgba(255, 255, 255, alpha)); matrix.popPose(); matrix.popPose(); } Thanks in advance
    • Here's the link: https://mclo.gs/7L5FibL Here's the link: https://mclo.gs/7L5FibL
    • Also the mod "Connector Extras" modifies Reach-entity-attributes and can cause fatal errors when combined with ValkrienSkies mod. Disable this mod and continue to use Syntra without it.
    • Hi everyone. I was trying modify the vanilla loot of the "short_grass" block, I would like it drops seeds and vegetal fiber (new item of my mod), but I don't found any guide or tutorial on internet. Somebody can help me?
    • On 1.20.1 use ValkrienSkies mod version 2.3.0 Beta 1. I had the same issues as you and it turns out the newer beta versions have tons of unresolved incompatibilities. If you change the version you will not be required to change the versions of eureka or any other additions unless prompted at startup. This will resolve Reach-entity-attributes error sound related error and cowardly errors.
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.