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:
- Create a singleplayer world or server
- /tp 0 100 0
- /setworldspawn at surface height (if its an ocean, build a platform)
- /execute in minecraft:the_end run tp 0 100 0
- /kill @e[type=minecraft:ender_dragon] (to spawn the end portal)
- /gamerule spawnChunkRadius 0
- /execute in minecraft:overworld run data get block 0 100 0 - wait until you get "That position is not loaded"
- Spawn a villager and move it into the end portal.
- Go through yourself and find out it disappeared. You can confirm that the villager fell into the void by checking your log file.
2024-01-18, 11:21 AM
2024-01-24, 03:05 PM
2024-01-24, 09:12 AM
4
6