dev-launchers / community-minecraft

Repository for Mincraft build by the Dev Launchers community
MIT License
2 stars 1 forks source link

Villagers Cannot Breed #94

Closed guillermosanta closed 3 years ago

guillermosanta commented 3 years ago

I have tried to breed my villagers multiple times, and after we moved from the Realm to the Server it just stopped working. I have done some research, and it seems to be a bug with Spigot servers. [https://hub.spigotmc.org/jira/browse/SPIGOT-5570] To confirm I was right, I went to a testing world, made a small house, spawned two villagers and gave them some bread. After a few seconds, they started breeding. In the server, I did the exact same thing, though no breeding occured. While villager breeding is not the most important feature in the game, I would say it is a pretty big one. Not being able to breed villagers limits the use of them quite a bit.

justWerns commented 3 years ago

Can someone let me know if this is still an issue? After setting up a dev environment, I spun up Java 8 and 11 servers running Paper 1.16.4 with the DevLauncher plugins (rift-hunters, byte-economy, tamingplus, and newbies). I'm not sure exactly what plugins the public server is currently using, but I figured more plugins likely wouldn't suddenly fix it. Either way, I was unable to reproduce the issue. I tried in organic and artificial environments. I just made sure there were a surplus of beds and gave everyone stacks of bread and soon babies were poppin' out all over the place.

(By organic environment I mean in a naturally spawned village, and by artificial I mean spawning in two villagers near three beds in the middle of no wehere.)

guillermosanta commented 3 years ago

@justWerns Villagers won't breed because we have the mobGriefing gamerule set to false :(

justWerns commented 3 years ago

Ahh. Makes sense why I couldn't reproduce it 😅I will have to add that to my build. Do you know if that's a direct effect on breeding, or is it just because they won't pick up food? We might be able to enable a way to force feed them so we can force breed them?! 😲

justWerns commented 3 years ago

@guillermosanta I actually tested this theory out. I set gamerule mobGriefing false, verified I couldn't get them to breed and then added a quick and dirty patch to force bread into their inventory when you interacted with them, c01628b. This did get them to breed again.

So you might want to reopen this as a feature request? I am slightly concerned my dev environment might be missing something else, but at least now we know that mobGriefing false doesn't explicitly prevent breeding. The general code is REALLY simple, but we'd definitely need to figure out the necessary rules/mechanics to make it work and prevent exploitation. Unless we just want to be shoving free bread everywhere.