File tree Expand file tree Collapse file tree 3 files changed +57
-0
lines changed
src/main/kotlin/cc/modlabs/kpaper Expand file tree Collapse file tree 3 files changed +57
-0
lines changed Original file line number Diff line number Diff line change 1+ package cc.modlabs.kpaper.inventory.simple
2+
3+ import org.bukkit.event.inventory.InventoryClickEvent
4+ import org.bukkit.event.inventory.InventoryCloseEvent
5+ import org.bukkit.event.inventory.InventoryDragEvent
6+ import org.bukkit.inventory.InventoryHolder
7+
8+ interface SimpleGUI : InventoryHolder {
9+
10+ fun open (): Unit = Unit
11+
12+ fun handle (event : InventoryClickEvent ): Unit = Unit
13+
14+ fun onClose (event : InventoryCloseEvent ): Unit = Unit
15+
16+ fun onDrag (event : InventoryDragEvent ): Unit = Unit
17+ }
Original file line number Diff line number Diff line change 1+ package cc.modlabs.kpaper.inventory.simple
2+
3+ import org.bukkit.event.EventHandler
4+ import org.bukkit.event.Listener
5+ import org.bukkit.event.inventory.InventoryClickEvent
6+ import org.bukkit.event.inventory.InventoryCloseEvent
7+ import org.bukkit.event.inventory.InventoryDragEvent
8+
9+ internal class SimpleGUIListener : Listener {
10+
11+ @EventHandler
12+ fun onInventoryClick (event : InventoryClickEvent ) {
13+ val inventory = event.clickedInventory ? : return
14+ val holder = inventory.getHolder(false )
15+ if (holder is SimpleGUI ) {
16+ holder.handle(event)
17+ }
18+ }
19+
20+ @EventHandler
21+ fun onInventoryClose (event : InventoryCloseEvent ) {
22+ val inventory = event.inventory
23+ val holder = inventory.getHolder(false )
24+ if (holder is SimpleGUI ) {
25+ holder.onClose(event)
26+ }
27+ }
28+
29+ @EventHandler
30+ fun onInventoryDrag (event : InventoryDragEvent ) {
31+ val inventory = event.inventory
32+ val holder = inventory.getHolder(false )
33+ if (holder is SimpleGUI ) {
34+ holder.onDrag(event)
35+ }
36+ }
37+
38+ }
Original file line number Diff line number Diff line change 33import cc.modlabs.kpaper.event.CustomEventListener
44import cc.modlabs.kpaper.inventory._internal.AnvilListener
55import cc.modlabs.kpaper.inventory._internal.ItemClickListener
6+ import cc.modlabs.kpaper.inventory.simple.SimpleGUIListener
67import org.bukkit.Bukkit
78import org.bukkit.plugin.java.JavaPlugin
89
@@ -54,6 +55,7 @@ abstract class KPlugin : JavaPlugin() {
5455 if (isFeatureEnabled(Feature .CUSTOM_EVENTS )) {
5556 CustomEventListener .load()
5657 }
58+ Bukkit .getPluginManager().registerEvents(SimpleGUIListener (), this )
5759
5860 startup()
5961 }
You can’t perform that action at this time.
0 commit comments