-
Notifications
You must be signed in to change notification settings - Fork 560
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
Prevent number key usage in GPS-related GUIs #4297
base: master
Are you sure you want to change the base?
Conversation
1. Added isNumberKey() method to ClickAction class to detect number key usage 2. Modified MenuListener to pass InventoryClickEvent to ClickAction constructor 3. Added special handlers to GPS Control Panel, Waypoint Panel, and GEO Scanner GUIs 4. These changes prevent users from using number keys in GPS GUIs which was causing items to be lost
Pro Tip!
If your changes do not fall into any of these categories, don't worry. You can just ignore this message in that case! 👀 |
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 had to lowercase this library or the project wouldn't build, but it's not related to issue #4260
Slimefun preview buildA Slimefun preview build is available for testing! https://preview-builds.walshy.dev/download/Slimefun/4297/c850d4e6
|
public ClickAction(InventoryClickEvent e) { | ||
this.right = e.isRightClick(); | ||
this.shift = e.isShiftClick(); | ||
this.numberKey = e.getClick().name().equals("NUMBER_KEY"); |
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.
why are you checking the name instead of just the enum itself?
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.
- Because comparing an enum to a string always returns false
- Because the bukkit API does not have a native isNumberKey() method, which I would have used
Another way of writing this would be this.numberKey = e.getClick() == ClickType.NUMBER_KEY;
, I just thought that a string would be more simple
Description
Resolves #4260
Proposed changes
Related Issues (if applicable)
Resolves #4260
Checklist
Nonnull
andNullable
annotations to my methods to indicate their behaviour for null values