ConcurrentModificationEx. when teleporting during EntityDamageEvent

XMLWordPrintable

    • Type: Bug
    • Resolution: Invalid
    • Priority: Minor
    • None
    • Affects Version/s: None
    • None
    • 1.21.4
    • Yes

      There is a small issue when an entity gets damaged because it is standing in a Fire-Block and gets teleported away during the EntiyDamageEvent.

      net.minecraft.ReportedException: Ticking player
          at net.minecraft.server.level.ServerPlayer.doTick(ServerPlayer.java:1145) ~[paper-1.21.3.jar:1.21.3-81-da71382]
          at net.minecraft.server.network.ServerGamePacketListenerImpl.tick(ServerGamePacketListenerImpl.java:356) ~[paper-1.21.3.jar:1.21.3-81-da71382]
          at net.minecraft.network.Connection.tick(Connection.java:638) ~[paper-1.21.3.jar:1.21.3-81-da71382]
          at net.minecraft.server.network.ServerConnectionListener.tick(ServerConnectionListener.java:248) ~[paper-1.21.3.jar:1.21.3-81-da71382]
          at net.minecraft.server.MinecraftServer.tickConnection(MinecraftServer.java:1918) ~[paper-1.21.3.jar:1.21.3-81-da71382]
          at net.minecraft.server.dedicated.DedicatedServer.tickConnection(DedicatedServer.java:453) ~[paper-1.21.3.jar:1.21.3-81-da71382]
          at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1891) ~[paper-1.21.3.jar:1.21.3-81-da71382]
          at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1665) ~[paper-1.21.3.jar:1.21.3-81-da71382]
          at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1330) ~[paper-1.21.3.jar:1.21.3-81-da71382]
          at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:340) ~[paper-1.21.3.jar:1.21.3-81-da71382]
          at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]
      Caused by: java.util.ConcurrentModificationException
          at java.base/java.util.ArrayList$Itr.checkForComodification(ArrayList.java:1095) ~[?:?]
          at java.base/java.util.ArrayList$Itr.next(ArrayList.java:1049) ~[?:?]
          at net.minecraft.world.entity.Entity.checkInsideBlocks(Entity.java:1730) ~[paper-1.21.3.jar:1.21.3-81-da71382]
          at net.minecraft.world.entity.Entity.applyEffectsFromBlocks(Entity.java:1355) ~[paper-1.21.3.jar:1.21.3-81-da71382]
          at net.minecraft.world.entity.Entity.applyEffectsFromBlocks(Entity.java:1342) ~[paper-1.21.3.jar:1.21.3-81-da71382]
          at net.minecraft.world.entity.LivingEntity.aiStep(LivingEntity.java:3659) ~[paper-1.21.3.jar:1.21.3-81-da71382]
          at net.minecraft.world.entity.player.Player.aiStep(Player.java:598) ~[paper-1.21.3.jar:1.21.3-81-da71382]
          at net.minecraft.world.entity.LivingEntity.tick(LivingEntity.java:3306) ~[paper-1.21.3.jar:1.21.3-81-da71382]
          at net.minecraft.world.entity.player.Player.tick(Player.java:288) ~[paper-1.21.3.jar:1.21.3-81-da71382]
          at net.minecraft.server.level.ServerPlayer.doTick(ServerPlayer.java:1063) ~[paper-1.21.3.jar:1.21.3-81-da71382]
          ... 10 more 

      Code to reproduce:

      @EventHandler
      public void onDmg(EntityDamageEvent event) {
          if(event.getCause() == DamageCause.FIRE) {
              event.getEntity().teleport(event.getEntity().getLocation().add(0,5,0));
          }
      } 

            Assignee:
            Unassigned
            Reporter:
            FreeSoccerHDX
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: