Preserve vanilla drop behavior when tile-drop flag is applied #4793
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.
Description
Currently, the
tile-dropflag does not respect the initial value ofBlockDestroyEvent#willDrop, which is set by the server before the event is fired. As a result, some blocks that would not drop in a vanilla environment end up dropping.You can reproduce that by doing the following:
tile-dropset totrue/setblock ~ ~ ~ minecraft:sniffer_egg[hatch=2]You will notice that the egg block is dropped.
This PR fixes the issue by adding a simple check to ensure PlotSquared only sets
willDropwhen it is alreadytrue, preserving vanilla behavior.Submitter Checklist
@since TODO.