ClickSorted publishes two custom Bukkit events for third-party plugins:
| Event | Package | Fired when |
|---|---|---|
InventorySortEvent |
net.kccricket.clicksorted.events |
A click matches a player's sort trigger, after locks/permissions are resolved and before any inventory writes. |
PlayerPreferenceChangeEvent |
net.kccricket.clicksorted.events |
A per-player preference (click/sort method, start corner, fill axis, enabled, sort-over-items, bundle-packing settings, a locked-slot toggle, or a bundle blacklist change) is about to change, before it's applied or persisted. |
Both events are cancellable, and both let a cancelling listener attach a Component explaining why via setCancelReason(Component) — surfaced to the affected player instead of a generic message. Neither event does anything with the reason unless the event is also cancelled.
Register listeners the normal Bukkit way (@EventHandler + PluginManager#registerEvents), depending on ClickSorted as a softdepend/depend in your plugin's paper-plugin.yml so its classes are on your classpath.