Uploaded image for project: 'Minecraft: Java Edition'
  1. Minecraft: Java Edition
  2. MC-105304

Dragon cannot be respawned in an old world

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • None
    • Minecraft 1.10.2
    • None
    • Unconfirmed

      To reproduce:

      1. Generate a world in a version before 1.9, and kill the dragon so that the exit portal is generated somewhere other than at (0,0).
      2. Load the world in 1.10.1 or later.
      3. Place the end crystals. See that the respawning process does not start.

      It works fine in 1.10.

      Further, as each crystal is placed, the following will be logged:

      [08:53:13] [Server thread/FATAL]: Error executing task
      java.util.concurrent.ExecutionException: java.lang.NullPointerException
      	at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_91]
      	at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_91]
      	at h.a(SourceFile:46) [1.10.1.jar:?]
      	at net.minecraft.server.MinecraftServer.D(SourceFile:598) [1.10.1.jar:?]
      	at net.minecraft.server.MinecraftServer.C(SourceFile:554) [1.10.1.jar:?]
      	at bzl.C(SourceFile:155) [1.10.1.jar:?]
      	at net.minecraft.server.MinecraftServer.run(SourceFile:458) [1.10.1.jar:?]
      	at java.lang.Thread.run(Thread.java:745) [?:1.8.0_91]
      Caused by: java.lang.NullPointerException
      	at atq.e(SourceFile:461) ~[1.10.1.jar:?]
      	at adj.a(SourceFile:60) ~[1.10.1.jar:?]
      	at adz.a(SourceFile:143) ~[1.10.1.jar:?]
      	at lv.a(SourceFile:339) ~[1.10.1.jar:?]
      	at me.a(SourceFile:627) ~[1.10.1.jar:?]
      	at jj.a(SourceFile:55) ~[1.10.1.jar:?]
      	at jj.a(SourceFile:11) ~[1.10.1.jar:?]
      	at fl$1.run(SourceFile:13) ~[1.10.1.jar:?]
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_91]
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_91]
      	at h.a(SourceFile:45) ~[1.10.1.jar:?]
      	... 5 more
      

      What seems to be happening (using MCP names) is that the fix for MC-103497 made DragonFightManager.respawnDragon() always try to use exitPortalLocation, even though findExitPortal() only sets this field when the detected portal is at (0,0). It should instead use the value returned by findExitPortal(), properly offset of course.

            Unassigned Unassigned
            anomie x Anomie X
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: