-
Bug
-
Resolution: Fixed
-
Minecraft 1.13, Minecraft 1.13.1-pre1, Minecraft 1.13.1, Minecraft 1.13.2-pre2, Minecraft 1.13.2, Minecraft 19w03c, Minecraft 19w04b, Minecraft 1.14, Minecraft 1.14.1 Pre-Release 1, Minecraft 1.14.1 Pre-Release 2, 1.14.4, 19w39a, 19w45b, 20w51a, 1.16.5, 21w06a, 21w08b, 1.17, 1.17.1, 1.18.2, 1.19, 1.19.2
-
None
-
Confirmed
-
Networking
The bug
In current versions:
/give @p spawner{BlockEntityTag:{SpawnData:{entity:{id:creeper}},Delay:10000}}
results in the mob spawner rendering pig for 0.1-1 full second before going back to the right render of the specified mob.
In older versions between 1.8-1.8.1 for sure this did not occur.
In 1.8.1:
/give @p spawner{BlockEntityTag:{EntityId:Creeper,Delay:10000}}
Solutions
Make blank spawners always blank (force people to use pig spawners with the blockdata). Then it simply won't render till the client gets its data. I don't recommend this approach as it's not instant when the client already has the data of nbt from the itemstack. I recommend the below solution.
Backport code to 1.8 where the blockentitytag was placed on both client and server side note that 1.8 had an issue with render as well not noticeable until porting the code to spawners newer then 1.10 where horses will render two different models only to the person placing the spawner. This is fixed by the server not sending a packet to the placer if a block entity tag was placed but, everyone else should get the packet.