When jigsaw blocks are used to summon structures that contain mobs, only certain fields of that mob's data are remembered. For example, the jigsaw block will remember if the mob in question has a custom name, but will not remember whether the mob was a baby.
How to reproduce:
1. Using a command block, summon a zombie in a 1x2x1 space, like so:
/summon zombie ~ ~1 ~ {CustomNameVisible:0,PersistenceRequired:1,IsBaby:0,CustomName:'{"translate":"Not a Baby Zombie","color":"white"}'}
(I summoned ~20 zombies to make the testing process faster.)
2. Use a structure block to save a 1x3x1 space including the entities and a jigsaw block as an nbt file. An example name for this structure could be testpack:zombietest
3. Create a template pool in a datapack that calls forth this structure 100% of the time.
Eg.:
{
"name": "testpack:zombietest",
"fallback": "minecraft:empty",
"elements": [
{
"weight": 1,
"element": {
"location": "testpack:zombietest",
"processors": {
"processors": []
},
"projection": "rigid",
"element_type": "minecraft:single_pool_element"
}
}
]
}
4. Summon this structure using jigsaw blocks.
Through my testing, it appears that structure blocks do remember everything, as I summoned over a hundred of these zombies using just structure blocks and none of them were babies. But as soon as I let jigsaw blocks do the work, babies appeared. The custom name was remembered in both scenarios.
Linked issues
is duplicated by 1
Comments 3
I have discovered a workaround in case anyone wants it. What I did was save an armor stand with a custom name in my custom structure, then in my datapack I have a function running that summons the killer rabbit at the armor stand with the custom name and then kills the armor stand.
This is going to be a problem. I went through all the effort of making a custom structure for the killer rabbit only to learn that that isn't saved.
edit: this is still in 1.19