When enableCrashExplosion is enabled in config, crashing 2 airplanes causes stack overflow:
Airplane hurt creates explosion before destroying airplane, therefore explosion calls hurt, which calls explosion, which calls hurt, which calls explosion, ...
Also, the aircraft should be destroyed after dropping items, as this bug also causes a items duplication (on each explosion, it also drops items).
Error:
java.lang.StackOverflowError: null
at Not Enough Crashes deobfuscated stack trace.(1.19.2+build.28) ~[?:?]
at net.minecraft.util.crash.CrashReport.create(CrashReport:259) ~[?:?]
at net.minecraft.server.network.ServerPlayNetworkHandler.sendPacket(ServerPlayNetworkHandler:1258) ~[?:?]
at net.minecraft.server.network.ServerPlayNetworkHandler.sendPacket(ServerPlayNetworkHandler:1251) ~[?:?]
at net.minecraft.server.network.EntityTrackerEntry.sendPackets(EntityTrackerEntry:230) ~[?:?]
at net.minecraft.server.network.EntityTrackerEntry.startTracking(EntityTrackerEntry:220) ~[?:?]
at net.minecraft.server.world.ThreadedAnvilChunkStorage$EntityTracker.updateTrackedStatus(ThreadedAnvilChunkStorage:1416) ~[?:?]
at net.minecraft.server.world.ThreadedAnvilChunkStorage$EntityTracker.updateTrackedStatus(ThreadedAnvilChunkStorage:1442) ~[?:?]
at net.minecraft.server.world.ThreadedAnvilChunkStorage.loadEntity(ThreadedAnvilChunkStorage:1198) ~[?:?]
at net.minecraft.server.world.ServerChunkManager.loadEntity(ServerChunkManager:477) ~[?:?]
at net.minecraft.server.world.ServerWorld$ServerEntityHandler.startTracking(ServerWorld:1560) ~[?:?]
at net.minecraft.server.world.ServerWorld$ServerEntityHandler.startTracking(ServerWorld:1538) ~[?:?]
at net.minecraft.server.world.ServerEntityManager.startTracking(ServerEntityManager:217) ~[?:?]
at net.minecraft.server.world.ServerEntityManager.addEntity(ServerEntityManager:187) ~[?:?]
at net.minecraft.server.world.ServerEntityManager.addEntity(ServerEntityManager:168) ~[?:?]
at net.minecraft.server.world.ServerWorld.addEntity(ServerWorld:865) ~[?:?]
at net.minecraft.server.world.ServerWorld.spawnEntity(ServerWorld:816) ~[?:?]
at net.minecraft.entity.Entity.dropStack(Entity:1876) ~[?:?]
at net.minecraft.entity.Entity.dropItem(Entity:1857) ~[?:?]
at net.minecraft.entity.Entity.dropItem(Entity:1852) ~[?:?]
at immersive_aircraft.entity.VehicleEntity.drop(VehicleEntity.java:225) ~[immersive_aircraft-0.6.2+1.19.2-fabric.jar:?]
at immersive_aircraft.entity.InventoryVehicleEntity.drop(InventoryVehicleEntity.java:92) ~[immersive_aircraft-0.6.2+1.19.2-fabric.jar:?]
at immersive_aircraft.entity.VehicleEntity.damage(VehicleEntity.java:205) ~[immersive_aircraft-0.6.2+1.19.2-fabric.jar:?]
at net.minecraft.world.explosion.Explosion.collectBlocksAndDamageEntities(Explosion:227) ~[?:?]
at net.minecraft.server.world.ServerWorld.createExplosion(ServerWorld:1048) ~[?:?]
at net.minecraft.world.World.createExplosion(World:494) ~[?:?]
at immersive_aircraft.entity.VehicleEntity.damage(VehicleEntity.java:208) ~[immersive_aircraft-0.6.2+1.19.2-fabric.jar:?]
at net.minecraft.world.explosion.Explosion.collectBlocksAndDamageEntities(Explosion:227) ~[?:?]
at net.minecraft.server.world.ServerWorld.createExplosion(ServerWorld:1048) ~[?:?]
at net.minecraft.world.World.createExplosion(World:494) ~[?:?]
at immersive_aircraft.entity.VehicleEntity.damage(VehicleEntity.java:208) ~[immersive_aircraft-0.6.2+1.19.2-fabric.jar:?]
at net.minecraft.world.explosion.Explosion.collectBlocksAndDamageEntities(Explosion:227) ~[?:?]
at net.minecraft.server.world.ServerWorld.createExplosion(ServerWorld:1048) ~[?:?]
at net.minecraft.world.World.createExplosion(World:494) ~[?:?]
at immersive_aircraft.entity.VehicleEntity.damage(VehicleEntity.java:208) ~[immersive_aircraft-0.6.2+1.19.2-fabric.jar:?]
at net.minecraft.world.explosion.Explosion.collectBlocksAndDamageEntities(Explosion:227) ~[?:?]
at net.minecraft.server.world.ServerWorld.createExplosion(ServerWorld:1048) ~[?:?]
at net.minecraft.world.World.createExplosion(World:494) ~[?:?]
at immersive_aircraft.entity.VehicleEntity.damage(VehicleEntity.java:208) ~[immersive_aircraft-0.6.2+1.19.2-fabric.jar:?]
at net.minecraft.world.explosion.Explosion.collectBlocksAndDamageEntities(Explosion:227) ~[?:?]
at net.minecraft.server.world.ServerWorld.createExplosion(ServerWorld:1048) ~[?:?]
at net.minecraft.world.World.createExplosion(World:494) ~[?:?]
at immersive_aircraft.entity.VehicleEntity.damage(VehicleEntity.java:208) ~[immersive_aircraft-0.6.2+1.19.2-fabric.jar:?]
at net.minecraft.world.explosion.Explosion.collectBlocksAndDamageEntities(Explosion:227) ~[?:?]
at net.minecraft.server.world.ServerWorld.createExplosion(ServerWorld:1048) ~[?:?]
at net.minecraft.world.World.createExplosion(World:494) ~[?:?]
at immersive_aircraft.entity.VehicleEntity.damage(VehicleEntity.java:208) ~[immersive_aircraft-0.6.2+1.19.2-fabric.jar:?]
at net.minecraft.world.explosion.Explosion.collectBlocksAndDamageEntities(Explosion:227) ~[?:?]
at net.minecraft.server.world.ServerWorld.createExplosion(ServerWorld:1048) ~[?:?]
at net.minecraft.world.World.createExplosion(World:494) ~[?:?]
at immersive_aircraft.entity.VehicleEntity.damage(VehicleEntity.java:208) ~[immersive_aircraft-0.6.2+1.19.2-fabric.jar:?]
at net.minecraft.world.explosion.Explosion.collectBlocksAndDamageEntities(Explosion:227) ~[?:?]
at net.minecraft.server.world.ServerWorld.createExplosion(ServerWorld:1048) ~[?:?]
at net.minecraft.world.World.createExplosion(World:494) ~[?:?]
...
Fabric 1.19.2 Immersive Aircraft 0.6.2
When
enableCrashExplosion
is enabled in config, crashing 2 airplanes causes stack overflow:Airplane hurt creates explosion before destroying airplane, therefore explosion calls hurt, which calls explosion, which calls hurt, which calls explosion, ...
Also, the aircraft should be destroyed after dropping items, as this bug also causes a items duplication (on each explosion, it also drops items).
Error: