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

Fixes #4087 and some cleanup #4088

Merged
merged 3 commits into from
Jan 13, 2024
Merged

Fixes #4087 and some cleanup #4088

merged 3 commits into from
Jan 13, 2024

Conversation

WalshyDev
Copy link
Member

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

  • I have fully tested the proposed changes and promise that they will not break everything into chaos.
  • I have also tested the proposed changes in combination with various popular addons and can confirm my changes do not break them.
  • I have made sure that the proposed changes do not break compatibility across the supported Minecraft versions (1.16.* - 1.20.*).
  • I followed the existing code standards and didn't mess up the formatting.
  • I did my best to add documentation to any public classes or methods I added.
  • I have added Nonnull and Nullable annotations to my methods to indicate their behaviour for null values
  • I added sufficient Unit Tests to cover my code.

@WalshyDev WalshyDev requested a review from a team as a code owner January 13, 2024 04:32
@github-actions github-actions bot added the ✨ Fix This Pull Request fixes an issue. label Jan 13, 2024
Copy link
Contributor

Your Pull Request was automatically labelled as: "✨ Fix"
Thank you for contributing to this project! ❤️

@WalshyDev
Copy link
Member Author

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.
Copy link

sonarcloud bot commented Jan 13, 2024

Quality Gate Passed Quality Gate passed

The SonarCloud Quality Gate passed, but some issues were introduced.

15 New issues
0 Security Hotspots
66.7% Coverage on New Code
0.0% Duplication on New Code

See analysis details on SonarCloud

Copy link
Contributor

Slimefun preview build

A Slimefun preview build is available for testing!
Commit: 1839ddca

https://preview-builds.walshy.dev/download/Slimefun/4088/1839ddca

Note: This is not a supported build and is only here for the purposes of testing.
Do not run this on a live server and do not report bugs anywhere but this PR!

Copy link
Contributor

@J3fftw1 J3fftw1 left a 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

@WalshyDev WalshyDev merged commit a78cba0 into master Jan 13, 2024
24 checks passed
@WalshyDev WalshyDev deleted the fix/dupe-issue-4087 branch January 13, 2024 13:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✨ Fix This Pull Request fixes an issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

You can take items out of Menus after Breaking a Block
4 participants