I created a 16 village iron golem farm using village chaining. After saving and reloading the game, once the first autosave occurs, the villages merge into one. The area of the farm is in a ticking area. Included is a zip containing the world prior to the merge. Once the autosave happens, the villages will merge.
It must be noted that I do not think it is happening on autosave. That is just the only time I can view the updated NBT data.
Village data is being saved but it is not loaded.
To reproduce:
Create a village by reproducing the video attached, with the ability to move the villager out of door detection range. Throw snowballs to show angry particle effects. Activate the piston to move the villager out of detection range. Throw snowballs as long as you would like to verify that the village has not been deleted. Save and load the game and then throw snowballs at the villager. No angry particles will be shown.
Separate test:
1. Create a village with 22 doors and 10 villagers.
2. Wait for an iron golem to spawn
3. Punch a villager to anger iron golem
4. Make sure the iron golem doesn't kill you (run into a structure too small for him to enter)
5. Save and quit
6. Log back in. The iron golem won't be angry anymore
Extra: villagers won't run from you for negative attitude points because the old village doesn't exist anymore (their attitude resets to neutral)
Linked issues
relates to 2
Attachments
Comments 13
In the video I just uploaded, I created one village. I throw snowballs at the villager to show the angry particles that only happen when a villager is in a village. I use a piston to move him out of the range of the door, and throw snowballs to show he is still in the village. I save and load the game and throw the snowballs to show no particle effects. Because he is out of range of the door, and the village data is possibly not loaded, he is no longer in a village and not in range to create a village. This was the best visual representation I could think of and is easily reproduced.
I changed the bug title to read "Village data does not load" because it is a more accurate description of the bug.
Can confirm this in 1.2.9 too. It is very easy to test and may add to the issue of villagers wandering from villages.
The anger particles is to give people a way to test without external programs. I use a program to read the village data and the actual data does not load. I create and verify that I've created a village, I move the villager out of the range of the door (where a new village would not be created if there was not a village there) but still in the radius of the village (so the village is not deleted). I wait 2 minutes to verify the village is still there, then I log off and log back in. Because the village data does not load, it does not exist; and because the villager is not in range of the door to create a new village, a new one is not created.
As info, the level.dat file does have an "mVillages" key, which is where I believe the village data is stored because I can't find any village data anywhere else in the NBT. I have been looking at the mVillages keys of many worlds over the last month, and I've yet to see one that wasn't empty, even when I parked my player in the middle of a village before saving the world. So I don't think village data is being saved at all.
This appears to be fixed in the 1.9 update. The anger particles mentioned in the description still don't show unless the player brings up a trade menu with one of the villagers (which is most likely a different bug). However, using a third-party application to view the saved data, the village information is still present upon reload.
Cleaning up old tickets: This ticket has not been updated recently (~1 year+) so is being closed as Cannot Reproduce. If you feel this is still a valid issue then please comment, or create a new ticket following the Issue Guidelines.
Quick Links:
📓 Issue Guidelines – 💬 Mojang Support – 📧 Suggestions – 📖 Minecraft Wiki
After further testing, it only happens when the village centers are within the radius of each other (32 blocks). Outside of the radius they do not merge. My guess was that on loading, the village center was checking for doors within 32 blocks. So I made the doors be 33 blocks away from the village center. However, this caused the villages to split (one village on one side and another village on the other). So now, my guess is that the village data is not being loaded and the villages are being recreated on reload.