-
-
Notifications
You must be signed in to change notification settings - Fork 1k
new sign transaction event #6071
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
new sign transaction event #6071
Conversation
JRoy
left a comment
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.
you need to declare a HandlerList for the SignTransactionEvent and override the getHandlers method + add a static getHandlerList method which also returns it.
otherwise i just left a few slight style/doc changes.
Essentials/src/main/java/net/ess3/api/events/SignTransactionEvent.java
Outdated
Show resolved
Hide resolved
Essentials/src/main/java/net/ess3/api/events/SignTransactionEvent.java
Outdated
Show resolved
Hide resolved
Essentials/src/main/java/net/ess3/api/events/SignTransactionEvent.java
Outdated
Show resolved
Hide resolved
Essentials/src/main/java/net/ess3/api/events/SignTransactionEvent.java
Outdated
Show resolved
Hide resolved
Essentials/src/main/java/net/ess3/api/events/SignTransactionEvent.java
Outdated
Show resolved
Hide resolved
Essentials/src/main/java/net/ess3/api/events/SignTransactionEvent.java
Outdated
Show resolved
Hide resolved
Essentials/src/main/java/net/ess3/api/events/SignTransactionEvent.java
Outdated
Show resolved
Hide resolved
Essentials/src/main/java/com/earth2me/essentials/signs/SignBuy.java
Outdated
Show resolved
Hide resolved
Essentials/src/main/java/com/earth2me/essentials/signs/SignSell.java
Outdated
Show resolved
Hide resolved
Are the handerlist not inherited by the other event ? So it should not be needed to declare it again, otherwise I think the event wouldn't have worked. |
….java Co-authored-by: Josh Roy <[email protected]>
…l.java Co-authored-by: Josh Roy <[email protected]>
…ent.java Co-authored-by: Josh Roy <[email protected]>
…ent.java Co-authored-by: Josh Roy <[email protected]>
…ent.java Co-authored-by: Josh Roy <[email protected]>
…ent.java Co-authored-by: Josh Roy <[email protected]>
…ent.java Co-authored-by: Josh Roy <[email protected]>
…ent.java Co-authored-by: Josh Roy <[email protected]>
…ent.java Co-authored-by: Josh Roy <[email protected]>
…ent.java Co-authored-by: Josh Roy <[email protected]>
|
I updated the rest though, thanks :) |
they are not, the static and instance methods need to be explicitly declared otherwise issues occur. |
|
Fair I read up a bit on it and I see you are right, even though it do work it could introduce some inconsistencies(unregistering events when not expecting to, incorrect event matching etc) |
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.
Pull Request Overview
This PR introduces a new event, SignTransactionEvent, to notify external plugins about sign transactions (buy or sell) and also addresses checkstyle errors by moving the event file to align with other event locations.
- Added a new SignTransactionEvent with data for the item, transaction type, and transaction value.
- Updated SignSell and SignBuy to fire the new event and handle cancellations appropriately.
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| Essentials/src/main/java/net/ess3/api/events/SignTransactionEvent.java | New event class for sign transactions |
| Essentials/src/main/java/com/earth2me/essentials/signs/SignSell.java | Integrates SignTransactionEvent in sign sell logic |
| Essentials/src/main/java/com/earth2me/essentials/signs/SignBuy.java | Integrates SignTransactionEvent in sign buy logic |
EssentialsX@40540eb Expose IUser#getLastActivityTime to API (EssentialsX#6101) EssentialsX@50b696b Adds social spy message type for in EssentialsDiscord (EssentialsX#5620) EssentialsX@dabe687 Add SignTransactionEvent for buy and sell signs (EssentialsX#6071) EssentialsX@0cb387f Fix NPE when unlinking offline players (EssentialsX#6111) EssentialsX@f09541c Update to Minecraft 1.21.5 (EssentialsX#6109) EssentialsX@c7ff994 Fire GlobalChatEvent even when local chat is disabled (EssentialsX#6113) EssentialsX@06c886c Fix /baltop on 1.15.2 and below (EssentialsX#6115) EssentialsX@2bb4438 Fix further trade sign validation mismatches (EssentialsX#6116) EssentialsX@8455212 Fix /spawnmob on < 1.21.5 (EssentialsX#6121) EssentialsX@be3e641 New Crowdin updates (EssentialsX#6089) EssentialsX@3f5b122 Use legacy text for TranslatableException#getMessage (EssentialsX#6134) EssentialsX@fe43017 Fix heer typo in messages_en.properties (EssentialsX#6135) EssentialsX@a58db23 Update English source strings with fixes from Crowdin (EssentialsX#6140) EssentialsX@d137031 Improve config comments & ordering (EssentialsX#6108) EssentialsX@3b0c229 New Crowdin updates (EssentialsX#6131) EssentialsX@3fe1495 Fix unexpected behavior with essentials.home.bed & essentials.sethome.bed permissions (EssentialsX#5991) EssentialsX@aebe851 Fix double messages when deleting a non-existent home (EssentialsX#6150) EssentialsX@3a5c7c4 Revert changes to /home and /sethome that break bed interactions (EssentialsX#6151) EssentialsX@3d28d82 Release 2.21.1 EssentialsX@e836747 Prepare for 2.21.2 dev builds (EssentialsX#6128) EssentialsX@d42347f Fix sending message during /editsign paste if SignChangeEvent is cancelled (EssentialsX#6136) EssentialsX@997f600 Update adventure dependencies (EssentialsX#6163) EssentialsX@4057326 Update to Minecraft 1.21.6 EssentialsX@2796399 Add 1.21.6 Mobs EssentialsX@31ea903 Move tests to MockBukkit EssentialsX@ff1b8b8 Add 1.21.6 Aliases
Information
The feature request is here:
#6070
https://gyazo.com/ba209d0b4dd4e4a032e1e0a390e37157
This PR closes #6070.
Details
Proposed feature:
This feature would introduce one new event for external plugins to listen to.
This event is called SignTransactionEvent and is fired when a user buys or sells something from a sign.
The event includes information about the type of transaction(buy/sell), the item bought/sold, how much it was bought/sold for and the sign it was bought at, the event is cancelable.
Environments tested:
OS: Windows 10
Java version: java version "17.0.7"
Demonstration:
https://gyazo.com/b3ab1a544ae3da83c9dd84556a7db415 - gif in 1.8
https://gyazo.com/ddf184d52fe0144690a49e19de0b2c40 - works in 1.12
https://gyazo.com/b68c7554c5ceb455aaa14fc6b4827c1b - works in 1.21
Code used to test it
https://pastebin.com/rcDJbX6s