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.
This pr generalizes the food code in
Player
andUseItemListener
to also allow for non-food items to have a usage duration specified beforehand.While this does make
PlayerPreEatEvent
andPlayerEatEvent
redundant (the same can be done withPlayerUseItemEvent
andItemUpdateStateEvent
), I left those in for clarity and backwards compatibility. For the same reason I leftPlayer#isEating
, which now just checks if the currently used item is a food. Please let me know if these should be removed instead.Along with those changes I added spyglass, horn and brush item animation types, since Minestom already had support for bow, crossbow, trident, etc. I also removed the deprecated
Player#callItemUpdateStateEvent(boolean, Hand)
since it has been deprecated for a long time and I think it was time for it to be removed.