mojira.dev
MC-267941

The end portal kills mobs at spawnChunkRadius 0

Sending mobs through the end portal in the end dimension will kill them if the chunk at the world spawnpoint is not loaded.

This happens because the game uses LevelReader#getHeightmapPos (mojmap) here to determine the correct height to teleport the mob to. This method only samples the heightmap of a chunk if that chunk is loaded in the world - otherwise it defaults to the minimum build height, causing the mob to get teleported into the void.

Demonstration: 2024-01-18 11-43-22 (streamable.com)

Reproduction Steps:

  1. Create a singleplayer world or server

  2. /tp 0 100 0

  3. /setworldspawn at surface height (if its an ocean, build a platform)

  4. /execute in minecraft:the_end run tp 0 100 0

  5. /kill @e[type=minecraft:ender_dragon] (to spawn the end portal)

  6. /gamerule spawnChunkRadius 0

  7. /execute in minecraft:overworld run data get block 0 100 0 - wait until you get "That position is not loaded"

  8. Spawn a villager and move it into the end portal.

  9. Go through yourself and find out it disappeared. You can confirm that the villager fell into the void by checking your log file.

Comments 1

Fix for this is quite simple, make load the world spawn chunk if an entity passes through, just like when going to the end, and when using a nether portal (in those cases the chunk even stays loaded for 15 seconds).

Wesley1808

Panda4994

Confirmed

Platform

Very Important

Chunk loading

24w03a

24w04a

Retrieved