-
Notifications
You must be signed in to change notification settings - Fork 546
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
Fixes #4087 and some cleanup #4088
Conversation
Your Pull Request was automatically labelled as: "✨ Fix" |
cc: @JustAHuman-xD |
When a block is broken we don't want to allow users to still use the inventory. This allows for them to pull items out along with blocks being dropped (if the block implements that). This fix is in 2 parts, the main part is just preventing the inventory from being opened if the block is queued for deletion. The second smaller part is just closing the inventory for all viewers on break. We would do this during cleanup but that was a tick later, we want it done in this tick and to prevent opening before the cleaning up is ran.
7185349
to
d80af21
Compare
Quality Gate passedThe SonarCloud Quality Gate passed, but some issues were introduced. 15 New issues |
Slimefun preview buildA Slimefun preview build is available for testing! https://preview-builds.walshy.dev/download/Slimefun/4088/1839ddca
|
src/main/java/io/github/thebusybiscuit/slimefun4/utils/biomes/BiomeMap.java
Show resolved
Hide resolved
src/main/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/BlockListener.java
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would like this to be tested but this is an annoying thing to be tested.
But there is unit tests so LGTM
Description
Per #4087 if you can get into the inventory of a broken block you can easily dupe items (take them out of the inv before cleanup - 500ms by default and from block drops).
We want to fix that and there's also just some general cleanup
Proposed changes
There are 2 parts to this fix, the first is disabling opening the inventory if the block is broken. The second is closing the inventory on block create (rather than an SF tick later). Created a pretty long test to validate this behaviour and fully verified it through debugger.
I also did a bit of cleanup, and commented out
checkForSensitiveBlocks
rather than the code in the function so we don't have random unused code. Moved @nonnull annotations in BiomeMap as vscode was freaking out over it being in the middle of generics.Related Issues (if applicable)
Fixes #4087
Checklist
Nonnull
andNullable
annotations to my methods to indicate their behaviour for null values