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