mojira.dev
MC-103452

Structure blocks don't load passenger entities

The bug

When you have an entity riding another entity, and save it in a structure, only the bottom entity gets saved.

How to reproduce

  1. Save a structure which includes an entity riding another entity

  2. Load the structure

  3. Notice how the structure only loads the bottom entity.

Notes

  • Reloading the world does not fix the issue

  • I am not playing on peaceful mode.

Code analysis

Based on 1.11 decompiled using MCP 9.35 rc1

This happens because the method net.minecraft.world.gen.structure.template.Template.addEntitiesToWorld(World, BlockPos, Mirror, Rotation, StructureBoundingBox) calls the method net.minecraft.entity.EntityList.createEntityFromNBT(NBTTagCompound, World) to create the entity. However, this method cannot load Passengers entities. Instead the method net.minecraft.world.chunk.storage.AnvilChunkLoader.readWorldEntityPos(NBTTagCompound, World, double, double, double, boolean) could be called with the vector values and true to only try to spawn the entity but don't force it.

Edit: The passengers have to get a new random UUID as well, therefor this method cannot be used.

Linked issues

Attachments

Comments 24

I experienced the same, just save you'r /summon command on commandblock with auto:1b

Added screenshots of my polar bears lonely without their riders. Would love to see this fixed!

Still persisting in 18w05a.

Thanks, Daniel. I hope we get a fix for this, someday!

14 more comments

Affects 22w03a.

[media]

I see that MC-105317 was recently fixed so hopefully the devs will explore the intricacies of structure blocks and entities a bit more in the coming snapshots.

Can confirm in 1.19.4

Can confirm in 1.20.1

Confirmed in 1.20.2

Xavier Hodgson

Ray

(Unassigned)

Confirmed

Platform

Normal

Structures

entity, nbt, passengers, structure_block

Minecraft 1.10, Minecraft 1.10.2, Minecraft 16w33a, Minecraft 16w35a, Minecraft 16w44a, ..., 1.20.1, 1.20.2 Pre-release 1, 1.20.2, 24w35a, 1.21.3

Retrieved