1
+ package top.wetabq.easyapi.api.defaults
2
+
3
+
4
+ import cn.nukkit.event.EventHandler
5
+ import cn.nukkit.event.Listener
6
+ import cn.nukkit.event.block.BlockBreakEvent
7
+ import cn.nukkit.event.block.BlockPlaceEvent
8
+ import cn.nukkit.event.entity.EntityArmorChangeEvent
9
+ import cn.nukkit.event.entity.EntityDamageByEntityEvent
10
+ import cn.nukkit.event.entity.EntityDamageEvent
11
+ import cn.nukkit.event.entity.EntityDeathEvent
12
+ import cn.nukkit.event.inventory.CraftItemEvent
13
+ import cn.nukkit.event.inventory.InventoryPickupItemEvent
14
+ import cn.nukkit.event.inventory.InventoryTransactionEvent
15
+ import cn.nukkit.event.level.WeatherChangeEvent
16
+ import cn.nukkit.event.player.*
17
+ import top.wetabq.easyapi.EasyAPI
18
+ import top.wetabq.easyapi.api.SimpleIntegrateAPI
19
+ import top.wetabq.easyapi.listener.AsyncListener
20
+ import top.wetabq.easyapi.module.defaults.asyncTaskCallEvent
21
+
22
+ object AsyncListenerAPI : SimpleIntegrateAPI, Listener, AsyncListener {
23
+
24
+ private val asyncListenerList = arrayListOf<AsyncListener >()
25
+
26
+ init {
27
+ EasyAPI .server.pluginManager.registerEvents(this , EasyAPI .INSTANCE )
28
+ }
29
+
30
+ fun add (t : AsyncListener ): AsyncListenerAPI {
31
+ asyncListenerList.add(t)
32
+ return this
33
+ }
34
+
35
+ fun remove (t : AsyncListener ): AsyncListenerAPI {
36
+ asyncListenerList.remove(t)
37
+ return this
38
+ }
39
+
40
+ @EventHandler
41
+ override fun onPlayerChatEvent (event : PlayerChatEvent ) {
42
+ asyncTaskCallEvent(event, EasyAPI .INSTANCE ) {
43
+ asyncListenerList.forEach { it.onPlayerChatEvent(event) }
44
+ }
45
+ }
46
+
47
+ @EventHandler
48
+ override fun onPlayerCommandPreprocessEvent (event : PlayerCommandPreprocessEvent ) {
49
+ asyncTaskCallEvent(event, EasyAPI .INSTANCE ) {
50
+ asyncListenerList.forEach { it.onPlayerCommandPreprocessEvent(event) }
51
+ }
52
+ }
53
+
54
+ @EventHandler
55
+ override fun onPlayerDeathEvent (event : PlayerDeathEvent ) {
56
+ asyncTaskCallEvent(event, EasyAPI .INSTANCE ) {
57
+ asyncListenerList.forEach { it.onPlayerDeathEvent(event) }
58
+ }
59
+ }
60
+
61
+ @EventHandler
62
+ override fun onPlayerBucketEmptyEvent (event : PlayerBucketEmptyEvent ) {
63
+ asyncTaskCallEvent(event, EasyAPI .INSTANCE ) {
64
+ asyncListenerList.forEach { it.onPlayerBucketEmptyEvent(event) }
65
+ }
66
+ }
67
+
68
+ @EventHandler
69
+ override fun onPlayerBucketFillEvent (event : PlayerBucketFillEvent ) {
70
+ asyncTaskCallEvent(event, EasyAPI .INSTANCE ) {
71
+ asyncListenerList.forEach { it.onPlayerBucketFillEvent(event) }
72
+ }
73
+ }
74
+
75
+ @EventHandler
76
+ override fun onPlayerDropItemEvent (event : PlayerDropItemEvent ) {
77
+ asyncTaskCallEvent(event, EasyAPI .INSTANCE ) {
78
+ asyncListenerList.forEach { it.onPlayerDropItemEvent(event) }
79
+ }
80
+ }
81
+
82
+ @EventHandler
83
+ override fun onPlayerEatFoodEvent (event : PlayerEatFoodEvent ) {
84
+ asyncTaskCallEvent(event, EasyAPI .INSTANCE ) {
85
+ asyncListenerList.forEach { it.onPlayerEatFoodEvent(event) }
86
+ }
87
+ }
88
+
89
+ @EventHandler
90
+ override fun onPlayerFoodLevelChangeEvent (event : PlayerFoodLevelChangeEvent ) {
91
+ asyncTaskCallEvent(event, EasyAPI .INSTANCE ) {
92
+ asyncListenerList.forEach { it.onPlayerFoodLevelChangeEvent(event) }
93
+ }
94
+ }
95
+
96
+ @EventHandler
97
+ override fun onPlayerFormRespondedEvent (event : PlayerFormRespondedEvent ) {
98
+ asyncTaskCallEvent(event, EasyAPI .INSTANCE ) {
99
+ asyncListenerList.forEach { it.onPlayerFormRespondedEvent(event) }
100
+ }
101
+ }
102
+
103
+ @EventHandler
104
+ override fun onPlayerGameModeChangeEvent (event : PlayerGameModeChangeEvent ) {
105
+ asyncTaskCallEvent(event, EasyAPI .INSTANCE ) {
106
+ asyncListenerList.forEach { it.onPlayerGameModeChangeEvent(event) }
107
+ }
108
+ }
109
+
110
+ @EventHandler
111
+ override fun onPlayerInteractEntityEvent (event : PlayerInteractEntityEvent ) {
112
+ asyncTaskCallEvent(event, EasyAPI .INSTANCE ) {
113
+ asyncListenerList.forEach { it.onPlayerInteractEntityEvent(event) }
114
+ }
115
+ }
116
+
117
+ @EventHandler
118
+ override fun onPlayerInteractEvent (event : PlayerInteractEvent ) {
119
+ asyncTaskCallEvent(event, EasyAPI .INSTANCE ) {
120
+ asyncListenerList.forEach { it.onPlayerInteractEvent(event) }
121
+ }
122
+ }
123
+
124
+ @EventHandler
125
+ override fun onPlayerItemHeldEvent (event : PlayerItemHeldEvent ) {
126
+ asyncTaskCallEvent(event, EasyAPI .INSTANCE ) {
127
+ asyncListenerList.forEach { it.onPlayerItemHeldEvent(event) }
128
+ }
129
+ }
130
+
131
+ @EventHandler
132
+ override fun onPlayerJoinEvent (event : PlayerJoinEvent ) {
133
+ asyncTaskCallEvent(event, EasyAPI .INSTANCE ) {
134
+ asyncListenerList.forEach { it.onPlayerJoinEvent(event) }
135
+ }
136
+ }
137
+
138
+ @EventHandler
139
+ override fun onPlayerLoginEvent (event : PlayerLoginEvent ) {
140
+ asyncTaskCallEvent(event, EasyAPI .INSTANCE ) {
141
+ asyncListenerList.forEach { it.onPlayerLoginEvent(event) }
142
+ }
143
+ }
144
+
145
+ @EventHandler
146
+ override fun onPlayerMoveEvent (event : PlayerMoveEvent ) {
147
+ asyncTaskCallEvent(event, EasyAPI .INSTANCE ) {
148
+ asyncListenerList.forEach { it.onPlayerMoveEvent(event) }
149
+ }
150
+ }
151
+
152
+ @EventHandler
153
+ override fun onPlayerPreLoginEvent (event : PlayerPreLoginEvent ) {
154
+ asyncTaskCallEvent(event, EasyAPI .INSTANCE ) {
155
+ asyncListenerList.forEach { it.onPlayerPreLoginEvent(event) }
156
+ }
157
+ }
158
+
159
+ @EventHandler
160
+ override fun onPlayerQuitEvent (event : PlayerQuitEvent ) {
161
+ asyncTaskCallEvent(event, EasyAPI .INSTANCE ) {
162
+ asyncListenerList.forEach { it.onPlayerQuitEvent(event) }
163
+ }
164
+ }
165
+
166
+ @EventHandler
167
+ override fun onPlayerRespawnEvent (event : PlayerRespawnEvent ) {
168
+ asyncTaskCallEvent(event, EasyAPI .INSTANCE ) {
169
+ asyncListenerList.forEach { it.onPlayerRespawnEvent(event) }
170
+ }
171
+ }
172
+
173
+ @EventHandler
174
+ override fun onPlayerTeleportEvent (event : PlayerTeleportEvent ) {
175
+ asyncTaskCallEvent(event, EasyAPI .INSTANCE ) {
176
+ asyncListenerList.forEach { it.onPlayerTeleportEvent(event) }
177
+ }
178
+ }
179
+
180
+ @EventHandler
181
+ override fun onBlockBreakEvent (event : BlockBreakEvent ) {
182
+ asyncTaskCallEvent(event, EasyAPI .INSTANCE ) {
183
+ asyncListenerList.forEach { it.onBlockBreakEvent(event) }
184
+ }
185
+ }
186
+
187
+ @EventHandler
188
+ override fun onBlockPlaceEvent (event : BlockPlaceEvent ) {
189
+ asyncTaskCallEvent(event, EasyAPI .INSTANCE ) {
190
+ asyncListenerList.forEach { it.onBlockPlaceEvent(event) }
191
+ }
192
+ }
193
+
194
+ @EventHandler
195
+ override fun onEntityArmorChangeEvent (event : EntityArmorChangeEvent ) {
196
+ asyncTaskCallEvent(event, EasyAPI .INSTANCE ) {
197
+ asyncListenerList.forEach { it.onEntityArmorChangeEvent(event) }
198
+ }
199
+ }
200
+
201
+ @EventHandler
202
+ override fun onEntityDamageByEntityEvent (event : EntityDamageByEntityEvent ) {
203
+ asyncTaskCallEvent(event, EasyAPI .INSTANCE ) {
204
+ asyncListenerList.forEach { it.onEntityDamageByEntityEvent(event) }
205
+ }
206
+ }
207
+
208
+ @EventHandler
209
+ override fun onEntityDamageEvent (event : EntityDamageEvent ) {
210
+ asyncTaskCallEvent(event, EasyAPI .INSTANCE ) {
211
+ asyncListenerList.forEach { it.onEntityDamageEvent(event) }
212
+ }
213
+ }
214
+
215
+ @EventHandler
216
+ override fun onEntityDeathEvent (event : EntityDeathEvent ) {
217
+ asyncTaskCallEvent(event, EasyAPI .INSTANCE ) {
218
+ asyncListenerList.forEach { it.onEntityDeathEvent(event) }
219
+ }
220
+ }
221
+
222
+ @EventHandler
223
+ override fun onCraftItemEvent (event : CraftItemEvent ) {
224
+ asyncTaskCallEvent(event, EasyAPI .INSTANCE ) {
225
+ asyncListenerList.forEach { it.onCraftItemEvent(event) }
226
+ }
227
+ }
228
+
229
+ @EventHandler
230
+ override fun onInventoryPickupItemEvent (event : InventoryPickupItemEvent ) {
231
+ asyncTaskCallEvent(event, EasyAPI .INSTANCE ) {
232
+ asyncListenerList.forEach { it.onInventoryPickupItemEvent(event) }
233
+ }
234
+ }
235
+
236
+ @EventHandler
237
+ override fun onInventoryTransactionEvent (event : InventoryTransactionEvent ) {
238
+ asyncTaskCallEvent(event, EasyAPI .INSTANCE ) {
239
+ asyncListenerList.forEach { it.onInventoryTransactionEvent(event) }
240
+ }
241
+ }
242
+
243
+ @EventHandler
244
+ override fun onWeatherChangeEvent (event : WeatherChangeEvent ) {
245
+ asyncTaskCallEvent(event, EasyAPI .INSTANCE ) {
246
+ asyncListenerList.forEach { it.onWeatherChangeEvent(event) }
247
+ }
248
+ }
249
+
250
+
251
+ }
0 commit comments