Fix/Refactor VillagerEntity.canBreed
and wantsToStartBreeding
#4065
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The method
VillagerEntity.canBreed
returns true if the villager is unable to breed.The method
VillagerEntity.wantsToStartBreeding
may sometimes return false even if the villager is willing to breed. It only returns true if the villager has twice over the amount of food required to start breeding.In practice, these methods are only ever used to check whether two villagers should share food with each other. They're never used to trigger or prevent the actual breeding task. (The method used for that purpose is
isReadyToBreed
.)I propose:
can(not)Breed
->needsFoodForBreeding
wantsToStartBreeding
->canShareFoodForBreeding