Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Item usage duration #2128

Closed
wants to merge 8 commits into from
Closed

Conversation

TogAr2
Copy link
Contributor

@TogAr2 TogAr2 commented May 4, 2024

This pr generalizes the food code in Player and UseItemListener to also allow for non-food items to have a usage duration specified beforehand.

While this does make PlayerPreEatEvent and PlayerEatEvent redundant (the same can be done with PlayerUseItemEvent and ItemUpdateStateEvent), I left those in for clarity and backwards compatibility. For the same reason I left Player#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.

@TogAr2 TogAr2 marked this pull request as draft May 4, 2024 12:25
@TogAr2 TogAr2 marked this pull request as ready for review May 4, 2024 12:30
@mworzala mworzala added this to the 1.20.5 milestone May 20, 2024
mworzala pushed a commit that referenced this pull request May 30, 2024
Fix build error

Move item usage completed to a different event

Add a way to check if the item usage has completed, or is aborted by the player

Only process animation when the item use time is not instant

Update javadoc

Re-add Player#isEating

Remove deprecated Player#callItemUpdateStateEvent

Allow specifying item usage duration inside PlayerUseItemEvent
mworzala added a commit that referenced this pull request May 30, 2024
@mworzala
Copy link
Member

I merged this into #2089

@mworzala mworzala closed this May 30, 2024
mworzala pushed a commit that referenced this pull request Jun 2, 2024
Fix build error

Move item usage completed to a different event

Add a way to check if the item usage has completed, or is aborted by the player

Only process animation when the item use time is not instant

Update javadoc

Re-add Player#isEating

Remove deprecated Player#callItemUpdateStateEvent

Allow specifying item usage duration inside PlayerUseItemEvent
mworzala added a commit that referenced this pull request Jun 2, 2024
mworzala pushed a commit that referenced this pull request Jun 7, 2024
Fix build error

Move item usage completed to a different event

Add a way to check if the item usage has completed, or is aborted by the player

Only process animation when the item use time is not instant

Update javadoc

Re-add Player#isEating

Remove deprecated Player#callItemUpdateStateEvent

Allow specifying item usage duration inside PlayerUseItemEvent
mworzala added a commit that referenced this pull request Jun 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants