End crystals placed on exit portals generated before 1.9 do not respawn the ender dragon
The bug
The ender dragon cannot be respawned at an end portal if the dragon was killed before 1.9 and the resulting end portal is generated at a location other than (0,<y>,0).
Furthermore, when placing the necessary end crystals on the portal, this error will be logged:
[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_51] at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_51] at k.a(SourceFile:200) [1.13.1.jar:?] at net.minecraft.server.MinecraftServer.b(SourceFile:726) [1.13.1.jar:?] at net.minecraft.server.MinecraftServer.a(SourceFile:681) [1.13.1.jar:?] at dgg.a(SourceFile:131) [1.13.1.jar:?] at net.minecraft.server.MinecraftServer.run(SourceFile:584) [1.13.1.jar:?] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_51] Caused by: java.lang.NullPointerException at bog.e(SourceFile:531) ~[1.13.1.jar:?] at asj.a(SourceFile:52) ~[1.13.1.jar:?] at atd.a(SourceFile:187) ~[1.13.1.jar:?] at tg.a(SourceFile:326) ~[1.13.1.jar:?] at uc.a(SourceFile:925) ~[1.13.1.jar:?] at nr.a(SourceFile:53) ~[1.13.1.jar:?] at nr.a(SourceFile:11) ~[1.13.1.jar:?] at ix.a(SourceFile:10) ~[1.13.1.jar:?] at ix$$Lambda$2000/1475818869.run(Unknown Source) ~[?:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_51] at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_51] at k.a(SourceFile:199) ~[1.13.1.jar:?] ... 5 more
What I expected to happen was:
The ender dragon would respawn.
What actually happened was:
The ender dragon did not respawn.
How to reproduce
- Download the attached world world_MC-104897.zip

- Load the world in 1.10.1 or later.
- Enter the active end portal. (You should spawn at a stronghold)
- Locate the exit portal, and place the necessary crystals.
→
See that the respawning process does not restart.
Code analysis (from MC-105304)
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.
Workaround can be found here.
Linked Issues
blocks1
is duplicated by11
- Fixed
carpet0928
Patrick
[Mojang] Matthew Gatland- 19
- 19
- Confirmed
Very Important
- Datafixer
- ender-dragon-respawn ender_crystal ender_dragon return-end-portal
1.10.2 - 1.16.5
1.10.2 1.11.2 1.13 18w30a 18w32a 1.13.1 1.13.2-pre1 1.13.2-pre2 1.13.2 18w43a 18w43b 18w43c 18w44a 18w45a 18w46a 18w47a 18w47b 18w48a 18w48b 18w49a 18w50a 19w02a 19w03b 19w03c 19w04b 19w05a 19w06a 19w08b 19w09a 19w11a 19w11b 19w12b 19w13b 19w14a 19w14b 1.14-pre1 1.14-pre2 1.14-pre3 1.14-pre4 1.14-pre5 1.14 1.14.1 1.14.2-pre1 1.14.2-pre2 1.14.2 1.14.3-pre2 1.14.4 19w40a 19w41a 19w42a 1.15-pre1 1.15-pre2 1.15.1 1.15.2 20w11a 20w12a 1.16.5- 1.17-pre1
Created Issue:
Ender Crystals are not respawning the Enderdragon
I have had this world since at least 1.31 and been trying to respawn the Enderdragon. The first time I tried to do this is version 1.10.2
Environment
Windows 7 Ultimate
Java 1.8.0_91 64bit
Ender Crystals placed on old (pre 1.9) exit portals are not respawning the Enderdragon
is duplicated by
I have had this world since at least 1.31 and been trying to respawn the Enderdragon. The first time I tried to do this is version 1.10.2
From
MC-105304:To reproduce:
- 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).
- Load the world in 1.10.1 or later.
- 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 moreWhat seems to be happening (using MCP names) is that the fix for
MC-103497made 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.
is duplicated by
I have had this world since at least 1.31 and been trying to respawn the Enderdragon. The first time I tried to do this is version 1.10.2
Workaround can be found here.
From
MC-105304:To reproduce:
- 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).
- Load the world in 1.10.1 or later.
- 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 moreWhat seems to be happening (using MCP names) is that the fix for
MC-103497made 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.
is duplicated by
I have had this world since at least 1.31 and been trying to respawn the Enderdragon. The first time I tried to do this is version 1.10.2
Workaround can be found here.
From
MC-105304:To reproduce:
- 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).
- Load the world in 1.10.1 or later.
- 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 moreWhat seems to be happening (using MCP names) is that the fix for
MC-103497made 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.
Workaround can be found here.
I have had this world since at least 1.31 and been trying to respawn the Enderdragon. The first time I tried to do this is version 1.10.2
Workaround can be found here.
From
MC-105304:To reproduce:
- 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).
- Load the world in 1.10.1 or later.
- 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 moreWhat seems to be happening (using MCP names) is that the fix for
MC-103497made 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.
Workaround can be found here.
relates to
is duplicated by
is duplicated by
is duplicated by
blocks
is duplicated by
is duplicated by
is duplicated by
Windows 7 Ultimate
Java 1.8.0_91 64bit
Can confirm for latest release 1.13 and latest snapshot 18w30a.
Can confirm for 18w32a.
Can confirm for 1.13.1.
I have had this world since at least 1.31 and been trying to respawn the Enderdragon. The first time I tried to do this is version 1.10.2
From
MC-105304:To reproduce:
- 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).
- Load the world in 1.10.1 or later.
- 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 moreWhat seems to be happening (using MCP names) is that the fix for
MC-103497made 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.
Workaround can be found here.
The bug
The ender dragon cannot be respawned at an end portal if the dragon was killed before 1.9 and the resulting end portal is generated at a location other than (0,0).
Furthermore, when placing the necessary end crystals on the portal, 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 moreWhat I expected to happen was:
The ender dragon would respawn.
What actually happened was:
The ender dragon did not respawn.
How to reproduce
- Download the attached world world_MC-104897.zip
- Load the world in 1.10.1 or later.
- Enter the active end portal. (You should spawn at a stronghold)
- Locate the exit portal, and place the necessary crystals.
→See tat the respawning process does not restart.
From
MC-105304:
- 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).
- Load the world in 1.10.1 or later.
- Place the end crystals. See that the respawning process does not start.
What seems to be happening (using MCP names) is that the fix for
MC-103497made 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.
Workaround can be found here.
The bug
The ender dragon cannot be respawned at an end portal if the dragon was killed before 1.9 and the resulting end portal is generated at a location other than (0,0).
Furthermore, when placing the necessary end crystals on the portal, 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 moreWhat I expected to happen was:
The ender dragon would respawn.
What actually happened was:
The ender dragon did not respawn.
How to reproduce
- Download the attached world world_MC-104897.zip
- Load the world in 1.10.1 or later.
- Enter the active end portal. (You should spawn at a stronghold)
- Locate the exit portal, and place the necessary crystals.
→See tat the respawning process does not restart.
From
MC-105304:
- 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).
- Load the world in 1.10.1 or later.
- Place the end crystals. See that the respawning process does not start.
What seems to be happening (using MCP names) is that the fix for
MC-103497made 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.
Workaround can be found here.
The bug
The ender dragon cannot be respawned at an end portal if the dragon was killed before 1.9 and the resulting end portal is generated at a location other than (0,0).
Furthermore, when placing the necessary end crystals on the portal, 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 moreWhat I expected to happen was:
The ender dragon would respawn.
What actually happened was:
The ender dragon did not respawn.
How to reproduce
- Download the attached world world_MC-104897.zip
- Load the world in 1.10.1 or later.
- Enter the active end portal. (You should spawn at a stronghold)
- Locate the exit portal, and place the necessary crystals.
→See that the respawning process does not restart.
Code analysis (from
MC-105304)What seems to be happening (using MCP names) is that the fix for
MC-103497made 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.
Workaround can be found here.
Ender Crystals placed onold (pre1.9)exit portalsarenot respawningthe EnderdragonEnder Crystals placed on pre-1.9 exit portals do not respawn the Ender Dragon
The bug
The ender dragon cannot be respawned at an end portal if the dragon was killed before 1.9 and the resulting end portal is generated at a location other than (0,0).
Furthermore, when placing the necessary end crystals on the portal, th
e followingwill 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] ath.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:?] atbzl.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 atatq.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:?] atlv.a(SourceFile:339) ~[1.10.1.jar:?] atme.a(SourceFile:627) ~[1.10.1.jar:?] atjj.a(SourceFile:55) ~[1.10.1.jar:?] atjj.a(SourceFile:11) ~[1.10.1.jar:?] atfl$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] ath.a(SourceFile:45) ~[1.10.1.jar:?] ... 5 moreWhat I expected to happen was:
The ender dragon would respawn.
What actually happened was:
The ender dragon did not respawn.
How to reproduce
- Download the attached world world_MC-104897.zip
- Load the world in 1.10.1 or later.
- Enter the active end portal. (You should spawn at a stronghold)
- Locate the exit portal, and place the necessary crystals.
→See that the respawning process does not restart.
Code analysis (from
MC-105304)What seems to be happening (using MCP names) is that the fix for
MC-103497made 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.
Workaround can be found here.
The bug
The ender dragon cannot be respawned at an end portal if the dragon was killed before 1.9 and the resulting end portal is generated at a location other than (0,0).
Furthermore, when placing the necessary end crystals on the portal, this error will be logged:
[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_51] at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_51] at k.a(SourceFile:200) [1.13.1.jar:?] at net.minecraft.server.MinecraftServer.b(SourceFile:726) [1.13.1.jar:?] at net.minecraft.server.MinecraftServer.a(SourceFile:681) [1.13.1.jar:?] at dgg.a(SourceFile:131) [1.13.1.jar:?] at net.minecraft.server.MinecraftServer.run(SourceFile:584) [1.13.1.jar:?] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_51] Caused by: java.lang.NullPointerException at bog.e(SourceFile:531) ~[1.13.1.jar:?] at asj.a(SourceFile:52) ~[1.13.1.jar:?] at atd.a(SourceFile:187) ~[1.13.1.jar:?] at tg.a(SourceFile:326) ~[1.13.1.jar:?] at uc.a(SourceFile:925) ~[1.13.1.jar:?] at nr.a(SourceFile:53) ~[1.13.1.jar:?] at nr.a(SourceFile:11) ~[1.13.1.jar:?] at ix.a(SourceFile:10) ~[1.13.1.jar:?] at ix$$Lambda$2000/1475818869.run(Unknown Source) ~[?:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_51] at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_51] at k.a(SourceFile:199) ~[1.13.1.jar:?] ... 5 moreWhat I expected to happen was:
The ender dragon would respawn.
What actually happened was:
The ender dragon did not respawn.
How to reproduce
- Download the attached world world_MC-104897.zip
- Load the world in 1.10.1 or later.
- Enter the active end portal. (You should spawn at a stronghold)
- Locate the exit portal, and place the necessary crystals.
→See that the respawning process does not restart.
Code analysis (from
MC-105304)What seems to be happening (using MCP names) is that the fix for
MC-103497made 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.
Workaround can be found here.
Ender Crystals placed onpre-1.9exit portals do not respawn theEnderDragonEnd crystals placed on exit portals generated before 1.9 do not respawn the ender dragon
The bug
The ender dragon cannot be respawned at an end portal if the dragon was killed before 1.9 and the resulting end portal is generated at a location other than (0,<y>,0).
Furthermore, when placing the necessary end crystals on the portal, this error will be logged:
[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_51] at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_51] at k.a(SourceFile:200) [1.13.1.jar:?] at net.minecraft.server.MinecraftServer.b(SourceFile:726) [1.13.1.jar:?] at net.minecraft.server.MinecraftServer.a(SourceFile:681) [1.13.1.jar:?] at dgg.a(SourceFile:131) [1.13.1.jar:?] at net.minecraft.server.MinecraftServer.run(SourceFile:584) [1.13.1.jar:?] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_51] Caused by: java.lang.NullPointerException at bog.e(SourceFile:531) ~[1.13.1.jar:?] at asj.a(SourceFile:52) ~[1.13.1.jar:?] at atd.a(SourceFile:187) ~[1.13.1.jar:?] at tg.a(SourceFile:326) ~[1.13.1.jar:?] at uc.a(SourceFile:925) ~[1.13.1.jar:?] at nr.a(SourceFile:53) ~[1.13.1.jar:?] at nr.a(SourceFile:11) ~[1.13.1.jar:?] at ix.a(SourceFile:10) ~[1.13.1.jar:?] at ix$$Lambda$2000/1475818869.run(Unknown Source) ~[?:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_51] at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_51] at k.a(SourceFile:199) ~[1.13.1.jar:?] ... 5 moreWhat I expected to happen was:
The ender dragon would respawn.
What actually happened was:
The ender dragon did not respawn.
How to reproduce
- Download the attached world world_MC-104897.zip
- Load the world in 1.10.1 or later.
- Enter the active end portal. (You should spawn at a stronghold)
- Locate the exit portal, and place the necessary crystals.
→See that the respawning process does not restart.
Code analysis (from
MC-105304)What seems to be happening (using MCP names) is that the fix for
MC-103497made 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.
Workaround can be found here.
is duplicated by
relates to
is duplicated by
Dupe of MC-104897
Dupe of MC-104897
Dupe of MC-104897
RimaNari & Marcono1234, does MC-104897 describe your issue?
Does MC-104897 describe your issue?
Then this is a duplicate of MC-104897. You can try the workaround in the description.
Attached screenshot of modded Minecraft version because MC-104897 currently blocks using old portals to spawn the ender dragon
This bug has been long since blocked by MC-104897 so we're currently unable to test.
See MC-104897 for a workaround.
Can confirm.
Relates to MC-104897
Duplicate of MC-104897.




Old portals from 1.8 and below are generated where the dragon dies; new portals are generated at 0, 0 in 1.10. Make sure you are trying to respawn the dragon at the new portal.
I'm 99% sure (might be wrong) that if the dragon hasn't been respawned once, then you still need to do it at the old portal since there is no new portal. And since the old portal still has portal blocks in it, it seems like the dragon hasn't been respawned.
There is no portal at coordinates 0,0
Coordinates 0,0
Place the end crystals in the middle of the 3 wide bedrock sections. If that doesn't work, please attach the affected world. In which versions has this world been opened? Any 1.10 snapshots? 1.10?
1.7 was the last time I visited The End, I had visited all other realms up to 1.10 first since I had no reason to visit The End until 1.10.
What am I supposed to attach?
Please attach the world file (minecraft/worlds/WORLDNAME) by compressing it and attaching the zip file.
Are you talking about the saved game file on singleplayer? If so, it's nearly a Gigabyte in size.
Yea, that's what we're referring to. If it's 1 gigabyte, probably it's best to not upload the overworld and nether areas (since those are likely to be the largest), so maybe just put the files and folders data, DIM1, and level.dat all into a zip folder and upload that.
The way you placed the ender crystals in the first screenshot is incorrect. See [Mod] redstonehelper's comment.
null
This method works just fine. (See third screenshot)Nevermind, it doesn't work on old portals.Can confirm, end crystals do not work on old portals.
Until this bug is fixed, here's a method to generate a new end portal.
Here's the requested files.
[Mod] Neko could you please add a moderator or helper note (just some kind of panel) to the description linking to your workaround
No need for a panel.
At least a link then that players who suffer from this can "fix" it themselves?
I have a vanilla server and I have the same problem. My world was generated in 1.3 version more or less. I put the crystals in the correct place and dragon are not respawning.
The log of my Vanilla server
Use this workaround and please user-f2760 link to this work around.
Thank you
Turns out we're both blind, it was already linked above the code analysis, removed that one, is it wasn't as spotable.
confirmed for 1.11.2 - happened on Realms server. OP had to apply fix to spawn the dragon
I'm currently having trouble reproducing this for 1.13.2-pre1 because the test world I've attached gets corrupted by
MC-137300upon loading.I was able to workaround
MC-137300by loading the world in 1.13.1 first and then loading it in 1.13.2-pre1. This should not interfere with reproducing this bug.I can confirm for 1.13.2-pre1.
Thank you RimaNari! That's useful to know. I've added 1.13.2-pre1 to the affected versions list now.
When I enter my test world in 18w45a, a new exit portal is generated at (0,0) (the original portal is kept), and the ender dragon respawns. Is this due to a newly introduced bug that I'm not aware of?
I cannot confirm what you are saying @carpet0928 .
When I load in 14w45a and enter the end, the exit portal is at its usual position slightly offset from 0,0 and there is no ender dragon. I cannot respawn the dragon by the expected process, but once I break a bedrock block from the exit portal and place a single end crystal on it, it triggers the creation of another exit portal at 0,0. Then I can respawn the dragn on the new portal at 0,0.
So it's the same as it always was for me, and the bug persists... not sure what you did?
I'd say that my last comment was self-explanatory and helped explain what I did fairly well, but, strangely enough, I'm now able to reproduce my own report again as well. This isn't the first time something like this has happened to me, and I'm not the smartest person so I'm not 100% sure why things like this happen to me sometimes.
You've done a great job helping me keep this ticket up to date. I appreciate that very much
I assume you forgot a negation in your comment, actually meaning that you are not able to reproduce your own report. You wrote that you were able to reproduce again, but apparently that's a typo.
I can imagine that maybe you didn't use a fresh copy of the test world, but one that was opened already. If one has several copies of a world in the saves folder, maybe one original and one that was opened in another snapshot already, it certainly gets confusing quickly. It doesn't help that Minecraft displays the world's name (which is the same for two copies of a world) as the bold-faced largest piece of text of a save, and the folder name only smaller and less prominent. So that would be one possible explanation.
Anyways, glad that I could help
Nope, no mistakes here, it's true that I can reproduce now.
Ah, sorry - you are able to reproduce the bug, but you are not able to reproduce what you observed in your comment three days ago. That's what you meant, okay. Everything fine
Hey is anyone working on fixing this? I know its like old and an edge case to the max, but i have a world that me and my son started in 2008 or 2009. We killed the dragon back then. Fast forward to this year, my youngest son is old enough for minecraft now (6) and we tried to go kill the ender dragon again. Everytime we try and spawn it we get a null pointer exception FATAL error as above.
I am in favour of the person who "fixed" the other bug that caused this bug being made to fix this one.
EDIT: just saw that there is a work around! thanks for that! ( https://imgur.com/a/pa3zO ) i am leaving this post as proof that this bug is still biting people out there like me!
the work around is to go to creative, destroy the portal, and then place an end crystal on a piece of obsidian that you randomly place anywhere. then the portal will spawn again.
can you not close it as "work around" status? and list that? because it says unsolved in the status.
I can confirm for 1.16.5