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

[1.20.4] Add BlockDropsEvent #788

Closed
wants to merge 10 commits into from

Conversation

Tanticle
Copy link

@Tanticle Tanticle commented Apr 7, 2024

This PR adds the BlockDropsEvent, which fires after the drops for a block have been determined but before they have been added to the world.
This allows for manipulation of the item entities, which is not possible when using loot modifiers (they can only change the list of item stacks).

Cancellation of the event causes no items to be dropped, but the block will remain destroyed/replaced by air. During the next breaking change window, we can also migrate the XP logic from BreakEvent to this event, as this is hooked in where XP is normally dropped, which will reduce patch overhead.

This PR also adds a breakBlock method to the GameTest helper to simulate breaking blocks with an entity and tool within a game test.

@CLAassistant
Copy link

CLAassistant commented Apr 7, 2024

CLA assistant check
All committers have signed the CLA.

@neoforged-pr-publishing
Copy link

  • Publish PR to GitHub Packages

@Shadows-of-Fire Shadows-of-Fire added enhancement New (or improvement to existing) feature or request 1.20.4 Targeted at Minecraft 1.20.4 labels Apr 7, 2024
@Shadows-of-Fire
Copy link
Contributor

There is value in moving the XP logic completely out of BreakEvent and into this new event, but that would be a breaking change, so we can hold off on that for now.

@Shadows-of-Fire Shadows-of-Fire changed the title Added a BlockDestroyed Event [1.20.4] Add BlockDropsEvent Apr 8, 2024
@Shadows-of-Fire
Copy link
Contributor

1.20.4 is now in feature freeze, so this will be pushed to 1.20.5; though it works out well enough, since the XP changes can be made in one pass.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1.20.4 Targeted at Minecraft 1.20.4 enhancement New (or improvement to existing) feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants