dragonfly_plugin/event/
handler.rs

1//! This file is auto-generated by `xtask`. Do not edit manually.
2#![allow(unused_variables)]
3use crate::{event::EventContext, types, PluginSubscriptions, Server};
4use std::future::Future;
5pub trait PluginEventHandler: PluginSubscriptions + Send + Sync {
6    ///Handler for the `PlayerJoin` event.
7    fn on_player_join(
8        &self,
9        _server: &Server,
10        _event: &mut EventContext<'_, types::PlayerJoinEvent>,
11    ) -> impl Future<Output = ()> + Send {
12        std::future::ready(())
13    }
14    ///Handler for the `PlayerQuit` event.
15    fn on_player_quit(
16        &self,
17        _server: &Server,
18        _event: &mut EventContext<'_, types::PlayerQuitEvent>,
19    ) -> impl Future<Output = ()> + Send {
20        std::future::ready(())
21    }
22    ///Handler for the `PlayerMove` event.
23    fn on_player_move(
24        &self,
25        _server: &Server,
26        _event: &mut EventContext<'_, types::PlayerMoveEvent>,
27    ) -> impl Future<Output = ()> + Send {
28        std::future::ready(())
29    }
30    ///Handler for the `PlayerJump` event.
31    fn on_player_jump(
32        &self,
33        _server: &Server,
34        _event: &mut EventContext<'_, types::PlayerJumpEvent>,
35    ) -> impl Future<Output = ()> + Send {
36        std::future::ready(())
37    }
38    ///Handler for the `PlayerTeleport` event.
39    fn on_player_teleport(
40        &self,
41        _server: &Server,
42        _event: &mut EventContext<'_, types::PlayerTeleportEvent>,
43    ) -> impl Future<Output = ()> + Send {
44        std::future::ready(())
45    }
46    ///Handler for the `PlayerChangeWorld` event.
47    fn on_player_change_world(
48        &self,
49        _server: &Server,
50        _event: &mut EventContext<'_, types::PlayerChangeWorldEvent>,
51    ) -> impl Future<Output = ()> + Send {
52        std::future::ready(())
53    }
54    ///Handler for the `PlayerToggleSprint` event.
55    fn on_player_toggle_sprint(
56        &self,
57        _server: &Server,
58        _event: &mut EventContext<'_, types::PlayerToggleSprintEvent>,
59    ) -> impl Future<Output = ()> + Send {
60        std::future::ready(())
61    }
62    ///Handler for the `PlayerToggleSneak` event.
63    fn on_player_toggle_sneak(
64        &self,
65        _server: &Server,
66        _event: &mut EventContext<'_, types::PlayerToggleSneakEvent>,
67    ) -> impl Future<Output = ()> + Send {
68        std::future::ready(())
69    }
70    ///Handler for the `Chat` event.
71    fn on_chat(
72        &self,
73        _server: &Server,
74        _event: &mut EventContext<'_, types::ChatEvent>,
75    ) -> impl Future<Output = ()> + Send {
76        std::future::ready(())
77    }
78    ///Handler for the `PlayerFoodLoss` event.
79    fn on_player_food_loss(
80        &self,
81        _server: &Server,
82        _event: &mut EventContext<'_, types::PlayerFoodLossEvent>,
83    ) -> impl Future<Output = ()> + Send {
84        std::future::ready(())
85    }
86    ///Handler for the `PlayerHeal` event.
87    fn on_player_heal(
88        &self,
89        _server: &Server,
90        _event: &mut EventContext<'_, types::PlayerHealEvent>,
91    ) -> impl Future<Output = ()> + Send {
92        std::future::ready(())
93    }
94    ///Handler for the `PlayerHurt` event.
95    fn on_player_hurt(
96        &self,
97        _server: &Server,
98        _event: &mut EventContext<'_, types::PlayerHurtEvent>,
99    ) -> impl Future<Output = ()> + Send {
100        std::future::ready(())
101    }
102    ///Handler for the `PlayerDeath` event.
103    fn on_player_death(
104        &self,
105        _server: &Server,
106        _event: &mut EventContext<'_, types::PlayerDeathEvent>,
107    ) -> impl Future<Output = ()> + Send {
108        std::future::ready(())
109    }
110    ///Handler for the `PlayerRespawn` event.
111    fn on_player_respawn(
112        &self,
113        _server: &Server,
114        _event: &mut EventContext<'_, types::PlayerRespawnEvent>,
115    ) -> impl Future<Output = ()> + Send {
116        std::future::ready(())
117    }
118    ///Handler for the `PlayerSkinChange` event.
119    fn on_player_skin_change(
120        &self,
121        _server: &Server,
122        _event: &mut EventContext<'_, types::PlayerSkinChangeEvent>,
123    ) -> impl Future<Output = ()> + Send {
124        std::future::ready(())
125    }
126    ///Handler for the `PlayerFireExtinguish` event.
127    fn on_player_fire_extinguish(
128        &self,
129        _server: &Server,
130        _event: &mut EventContext<'_, types::PlayerFireExtinguishEvent>,
131    ) -> impl Future<Output = ()> + Send {
132        std::future::ready(())
133    }
134    ///Handler for the `PlayerStartBreak` event.
135    fn on_player_start_break(
136        &self,
137        _server: &Server,
138        _event: &mut EventContext<'_, types::PlayerStartBreakEvent>,
139    ) -> impl Future<Output = ()> + Send {
140        std::future::ready(())
141    }
142    ///Handler for the `BlockBreak` event.
143    fn on_block_break(
144        &self,
145        _server: &Server,
146        _event: &mut EventContext<'_, types::BlockBreakEvent>,
147    ) -> impl Future<Output = ()> + Send {
148        std::future::ready(())
149    }
150    ///Handler for the `PlayerBlockPlace` event.
151    fn on_player_block_place(
152        &self,
153        _server: &Server,
154        _event: &mut EventContext<'_, types::PlayerBlockPlaceEvent>,
155    ) -> impl Future<Output = ()> + Send {
156        std::future::ready(())
157    }
158    ///Handler for the `PlayerBlockPick` event.
159    fn on_player_block_pick(
160        &self,
161        _server: &Server,
162        _event: &mut EventContext<'_, types::PlayerBlockPickEvent>,
163    ) -> impl Future<Output = ()> + Send {
164        std::future::ready(())
165    }
166    ///Handler for the `PlayerItemUse` event.
167    fn on_player_item_use(
168        &self,
169        _server: &Server,
170        _event: &mut EventContext<'_, types::PlayerItemUseEvent>,
171    ) -> impl Future<Output = ()> + Send {
172        std::future::ready(())
173    }
174    ///Handler for the `PlayerItemUseOnBlock` event.
175    fn on_player_item_use_on_block(
176        &self,
177        _server: &Server,
178        _event: &mut EventContext<'_, types::PlayerItemUseOnBlockEvent>,
179    ) -> impl Future<Output = ()> + Send {
180        std::future::ready(())
181    }
182    ///Handler for the `PlayerItemUseOnEntity` event.
183    fn on_player_item_use_on_entity(
184        &self,
185        _server: &Server,
186        _event: &mut EventContext<'_, types::PlayerItemUseOnEntityEvent>,
187    ) -> impl Future<Output = ()> + Send {
188        std::future::ready(())
189    }
190    ///Handler for the `PlayerItemRelease` event.
191    fn on_player_item_release(
192        &self,
193        _server: &Server,
194        _event: &mut EventContext<'_, types::PlayerItemReleaseEvent>,
195    ) -> impl Future<Output = ()> + Send {
196        std::future::ready(())
197    }
198    ///Handler for the `PlayerItemConsume` event.
199    fn on_player_item_consume(
200        &self,
201        _server: &Server,
202        _event: &mut EventContext<'_, types::PlayerItemConsumeEvent>,
203    ) -> impl Future<Output = ()> + Send {
204        std::future::ready(())
205    }
206    ///Handler for the `PlayerAttackEntity` event.
207    fn on_player_attack_entity(
208        &self,
209        _server: &Server,
210        _event: &mut EventContext<'_, types::PlayerAttackEntityEvent>,
211    ) -> impl Future<Output = ()> + Send {
212        std::future::ready(())
213    }
214    ///Handler for the `PlayerExperienceGain` event.
215    fn on_player_experience_gain(
216        &self,
217        _server: &Server,
218        _event: &mut EventContext<'_, types::PlayerExperienceGainEvent>,
219    ) -> impl Future<Output = ()> + Send {
220        std::future::ready(())
221    }
222    ///Handler for the `PlayerPunchAir` event.
223    fn on_player_punch_air(
224        &self,
225        _server: &Server,
226        _event: &mut EventContext<'_, types::PlayerPunchAirEvent>,
227    ) -> impl Future<Output = ()> + Send {
228        std::future::ready(())
229    }
230    ///Handler for the `PlayerSignEdit` event.
231    fn on_player_sign_edit(
232        &self,
233        _server: &Server,
234        _event: &mut EventContext<'_, types::PlayerSignEditEvent>,
235    ) -> impl Future<Output = ()> + Send {
236        std::future::ready(())
237    }
238    ///Handler for the `PlayerLecternPageTurn` event.
239    fn on_player_lectern_page_turn(
240        &self,
241        _server: &Server,
242        _event: &mut EventContext<'_, types::PlayerLecternPageTurnEvent>,
243    ) -> impl Future<Output = ()> + Send {
244        std::future::ready(())
245    }
246    ///Handler for the `PlayerItemDamage` event.
247    fn on_player_item_damage(
248        &self,
249        _server: &Server,
250        _event: &mut EventContext<'_, types::PlayerItemDamageEvent>,
251    ) -> impl Future<Output = ()> + Send {
252        std::future::ready(())
253    }
254    ///Handler for the `PlayerItemPickup` event.
255    fn on_player_item_pickup(
256        &self,
257        _server: &Server,
258        _event: &mut EventContext<'_, types::PlayerItemPickupEvent>,
259    ) -> impl Future<Output = ()> + Send {
260        std::future::ready(())
261    }
262    ///Handler for the `PlayerHeldSlotChange` event.
263    fn on_player_held_slot_change(
264        &self,
265        _server: &Server,
266        _event: &mut EventContext<'_, types::PlayerHeldSlotChangeEvent>,
267    ) -> impl Future<Output = ()> + Send {
268        std::future::ready(())
269    }
270    ///Handler for the `PlayerItemDrop` event.
271    fn on_player_item_drop(
272        &self,
273        _server: &Server,
274        _event: &mut EventContext<'_, types::PlayerItemDropEvent>,
275    ) -> impl Future<Output = ()> + Send {
276        std::future::ready(())
277    }
278    ///Handler for the `PlayerTransfer` event.
279    fn on_player_transfer(
280        &self,
281        _server: &Server,
282        _event: &mut EventContext<'_, types::PlayerTransferEvent>,
283    ) -> impl Future<Output = ()> + Send {
284        std::future::ready(())
285    }
286    ///Handler for the `Command` event.
287    fn on_command(
288        &self,
289        _server: &Server,
290        _event: &mut EventContext<'_, types::CommandEvent>,
291    ) -> impl Future<Output = ()> + Send {
292        std::future::ready(())
293    }
294    ///Handler for the `PlayerDiagnostics` event.
295    fn on_player_diagnostics(
296        &self,
297        _server: &Server,
298        _event: &mut EventContext<'_, types::PlayerDiagnosticsEvent>,
299    ) -> impl Future<Output = ()> + Send {
300        std::future::ready(())
301    }
302    ///Handler for the `WorldLiquidFlow` event.
303    fn on_world_liquid_flow(
304        &self,
305        _server: &Server,
306        _event: &mut EventContext<'_, types::WorldLiquidFlowEvent>,
307    ) -> impl Future<Output = ()> + Send {
308        std::future::ready(())
309    }
310    ///Handler for the `WorldLiquidDecay` event.
311    fn on_world_liquid_decay(
312        &self,
313        _server: &Server,
314        _event: &mut EventContext<'_, types::WorldLiquidDecayEvent>,
315    ) -> impl Future<Output = ()> + Send {
316        std::future::ready(())
317    }
318    ///Handler for the `WorldLiquidHarden` event.
319    fn on_world_liquid_harden(
320        &self,
321        _server: &Server,
322        _event: &mut EventContext<'_, types::WorldLiquidHardenEvent>,
323    ) -> impl Future<Output = ()> + Send {
324        std::future::ready(())
325    }
326    ///Handler for the `WorldSound` event.
327    fn on_world_sound(
328        &self,
329        _server: &Server,
330        _event: &mut EventContext<'_, types::WorldSoundEvent>,
331    ) -> impl Future<Output = ()> + Send {
332        std::future::ready(())
333    }
334    ///Handler for the `WorldFireSpread` event.
335    fn on_world_fire_spread(
336        &self,
337        _server: &Server,
338        _event: &mut EventContext<'_, types::WorldFireSpreadEvent>,
339    ) -> impl Future<Output = ()> + Send {
340        std::future::ready(())
341    }
342    ///Handler for the `WorldBlockBurn` event.
343    fn on_world_block_burn(
344        &self,
345        _server: &Server,
346        _event: &mut EventContext<'_, types::WorldBlockBurnEvent>,
347    ) -> impl Future<Output = ()> + Send {
348        std::future::ready(())
349    }
350    ///Handler for the `WorldCropTrample` event.
351    fn on_world_crop_trample(
352        &self,
353        _server: &Server,
354        _event: &mut EventContext<'_, types::WorldCropTrampleEvent>,
355    ) -> impl Future<Output = ()> + Send {
356        std::future::ready(())
357    }
358    ///Handler for the `WorldLeavesDecay` event.
359    fn on_world_leaves_decay(
360        &self,
361        _server: &Server,
362        _event: &mut EventContext<'_, types::WorldLeavesDecayEvent>,
363    ) -> impl Future<Output = ()> + Send {
364        std::future::ready(())
365    }
366    ///Handler for the `WorldEntitySpawn` event.
367    fn on_world_entity_spawn(
368        &self,
369        _server: &Server,
370        _event: &mut EventContext<'_, types::WorldEntitySpawnEvent>,
371    ) -> impl Future<Output = ()> + Send {
372        std::future::ready(())
373    }
374    ///Handler for the `WorldEntityDespawn` event.
375    fn on_world_entity_despawn(
376        &self,
377        _server: &Server,
378        _event: &mut EventContext<'_, types::WorldEntityDespawnEvent>,
379    ) -> impl Future<Output = ()> + Send {
380        std::future::ready(())
381    }
382    ///Handler for the `WorldExplosion` event.
383    fn on_world_explosion(
384        &self,
385        _server: &Server,
386        _event: &mut EventContext<'_, types::WorldExplosionEvent>,
387    ) -> impl Future<Output = ()> + Send {
388        std::future::ready(())
389    }
390    ///Handler for the `WorldClose` event.
391    fn on_world_close(
392        &self,
393        _server: &Server,
394        _event: &mut EventContext<'_, types::WorldCloseEvent>,
395    ) -> impl Future<Output = ()> + Send {
396        std::future::ready(())
397    }
398}
399#[doc(hidden)]
400pub async fn dispatch_event(
401    server: &Server,
402    handler: &impl PluginEventHandler,
403    envelope: &types::EventEnvelope,
404) {
405    let Some(payload) = &envelope.payload else {
406        return;
407    };
408    match payload {
409        types::event_envelope::Payload::PlayerJoin(e) => {
410            let mut context = EventContext::new(&envelope.event_id, e);
411            handler.on_player_join(server, &mut context).await;
412            server.send_event_result(context).await.ok();
413        }
414        types::event_envelope::Payload::PlayerQuit(e) => {
415            let mut context = EventContext::new(&envelope.event_id, e);
416            handler.on_player_quit(server, &mut context).await;
417            server.send_event_result(context).await.ok();
418        }
419        types::event_envelope::Payload::PlayerMove(e) => {
420            let mut context = EventContext::new(&envelope.event_id, e);
421            handler.on_player_move(server, &mut context).await;
422            server.send_event_result(context).await.ok();
423        }
424        types::event_envelope::Payload::PlayerJump(e) => {
425            let mut context = EventContext::new(&envelope.event_id, e);
426            handler.on_player_jump(server, &mut context).await;
427            server.send_event_result(context).await.ok();
428        }
429        types::event_envelope::Payload::PlayerTeleport(e) => {
430            let mut context = EventContext::new(&envelope.event_id, e);
431            handler.on_player_teleport(server, &mut context).await;
432            server.send_event_result(context).await.ok();
433        }
434        types::event_envelope::Payload::PlayerChangeWorld(e) => {
435            let mut context = EventContext::new(&envelope.event_id, e);
436            handler.on_player_change_world(server, &mut context).await;
437            server.send_event_result(context).await.ok();
438        }
439        types::event_envelope::Payload::PlayerToggleSprint(e) => {
440            let mut context = EventContext::new(&envelope.event_id, e);
441            handler.on_player_toggle_sprint(server, &mut context).await;
442            server.send_event_result(context).await.ok();
443        }
444        types::event_envelope::Payload::PlayerToggleSneak(e) => {
445            let mut context = EventContext::new(&envelope.event_id, e);
446            handler.on_player_toggle_sneak(server, &mut context).await;
447            server.send_event_result(context).await.ok();
448        }
449        types::event_envelope::Payload::Chat(e) => {
450            let mut context = EventContext::new(&envelope.event_id, e);
451            handler.on_chat(server, &mut context).await;
452            server.send_event_result(context).await.ok();
453        }
454        types::event_envelope::Payload::PlayerFoodLoss(e) => {
455            let mut context = EventContext::new(&envelope.event_id, e);
456            handler.on_player_food_loss(server, &mut context).await;
457            server.send_event_result(context).await.ok();
458        }
459        types::event_envelope::Payload::PlayerHeal(e) => {
460            let mut context = EventContext::new(&envelope.event_id, e);
461            handler.on_player_heal(server, &mut context).await;
462            server.send_event_result(context).await.ok();
463        }
464        types::event_envelope::Payload::PlayerHurt(e) => {
465            let mut context = EventContext::new(&envelope.event_id, e);
466            handler.on_player_hurt(server, &mut context).await;
467            server.send_event_result(context).await.ok();
468        }
469        types::event_envelope::Payload::PlayerDeath(e) => {
470            let mut context = EventContext::new(&envelope.event_id, e);
471            handler.on_player_death(server, &mut context).await;
472            server.send_event_result(context).await.ok();
473        }
474        types::event_envelope::Payload::PlayerRespawn(e) => {
475            let mut context = EventContext::new(&envelope.event_id, e);
476            handler.on_player_respawn(server, &mut context).await;
477            server.send_event_result(context).await.ok();
478        }
479        types::event_envelope::Payload::PlayerSkinChange(e) => {
480            let mut context = EventContext::new(&envelope.event_id, e);
481            handler.on_player_skin_change(server, &mut context).await;
482            server.send_event_result(context).await.ok();
483        }
484        types::event_envelope::Payload::PlayerFireExtinguish(e) => {
485            let mut context = EventContext::new(&envelope.event_id, e);
486            handler
487                .on_player_fire_extinguish(server, &mut context)
488                .await;
489            server.send_event_result(context).await.ok();
490        }
491        types::event_envelope::Payload::PlayerStartBreak(e) => {
492            let mut context = EventContext::new(&envelope.event_id, e);
493            handler.on_player_start_break(server, &mut context).await;
494            server.send_event_result(context).await.ok();
495        }
496        types::event_envelope::Payload::BlockBreak(e) => {
497            let mut context = EventContext::new(&envelope.event_id, e);
498            handler.on_block_break(server, &mut context).await;
499            server.send_event_result(context).await.ok();
500        }
501        types::event_envelope::Payload::PlayerBlockPlace(e) => {
502            let mut context = EventContext::new(&envelope.event_id, e);
503            handler.on_player_block_place(server, &mut context).await;
504            server.send_event_result(context).await.ok();
505        }
506        types::event_envelope::Payload::PlayerBlockPick(e) => {
507            let mut context = EventContext::new(&envelope.event_id, e);
508            handler.on_player_block_pick(server, &mut context).await;
509            server.send_event_result(context).await.ok();
510        }
511        types::event_envelope::Payload::PlayerItemUse(e) => {
512            let mut context = EventContext::new(&envelope.event_id, e);
513            handler.on_player_item_use(server, &mut context).await;
514            server.send_event_result(context).await.ok();
515        }
516        types::event_envelope::Payload::PlayerItemUseOnBlock(e) => {
517            let mut context = EventContext::new(&envelope.event_id, e);
518            handler
519                .on_player_item_use_on_block(server, &mut context)
520                .await;
521            server.send_event_result(context).await.ok();
522        }
523        types::event_envelope::Payload::PlayerItemUseOnEntity(e) => {
524            let mut context = EventContext::new(&envelope.event_id, e);
525            handler
526                .on_player_item_use_on_entity(server, &mut context)
527                .await;
528            server.send_event_result(context).await.ok();
529        }
530        types::event_envelope::Payload::PlayerItemRelease(e) => {
531            let mut context = EventContext::new(&envelope.event_id, e);
532            handler.on_player_item_release(server, &mut context).await;
533            server.send_event_result(context).await.ok();
534        }
535        types::event_envelope::Payload::PlayerItemConsume(e) => {
536            let mut context = EventContext::new(&envelope.event_id, e);
537            handler.on_player_item_consume(server, &mut context).await;
538            server.send_event_result(context).await.ok();
539        }
540        types::event_envelope::Payload::PlayerAttackEntity(e) => {
541            let mut context = EventContext::new(&envelope.event_id, e);
542            handler.on_player_attack_entity(server, &mut context).await;
543            server.send_event_result(context).await.ok();
544        }
545        types::event_envelope::Payload::PlayerExperienceGain(e) => {
546            let mut context = EventContext::new(&envelope.event_id, e);
547            handler
548                .on_player_experience_gain(server, &mut context)
549                .await;
550            server.send_event_result(context).await.ok();
551        }
552        types::event_envelope::Payload::PlayerPunchAir(e) => {
553            let mut context = EventContext::new(&envelope.event_id, e);
554            handler.on_player_punch_air(server, &mut context).await;
555            server.send_event_result(context).await.ok();
556        }
557        types::event_envelope::Payload::PlayerSignEdit(e) => {
558            let mut context = EventContext::new(&envelope.event_id, e);
559            handler.on_player_sign_edit(server, &mut context).await;
560            server.send_event_result(context).await.ok();
561        }
562        types::event_envelope::Payload::PlayerLecternPageTurn(e) => {
563            let mut context = EventContext::new(&envelope.event_id, e);
564            handler
565                .on_player_lectern_page_turn(server, &mut context)
566                .await;
567            server.send_event_result(context).await.ok();
568        }
569        types::event_envelope::Payload::PlayerItemDamage(e) => {
570            let mut context = EventContext::new(&envelope.event_id, e);
571            handler.on_player_item_damage(server, &mut context).await;
572            server.send_event_result(context).await.ok();
573        }
574        types::event_envelope::Payload::PlayerItemPickup(e) => {
575            let mut context = EventContext::new(&envelope.event_id, e);
576            handler.on_player_item_pickup(server, &mut context).await;
577            server.send_event_result(context).await.ok();
578        }
579        types::event_envelope::Payload::PlayerHeldSlotChange(e) => {
580            let mut context = EventContext::new(&envelope.event_id, e);
581            handler
582                .on_player_held_slot_change(server, &mut context)
583                .await;
584            server.send_event_result(context).await.ok();
585        }
586        types::event_envelope::Payload::PlayerItemDrop(e) => {
587            let mut context = EventContext::new(&envelope.event_id, e);
588            handler.on_player_item_drop(server, &mut context).await;
589            server.send_event_result(context).await.ok();
590        }
591        types::event_envelope::Payload::PlayerTransfer(e) => {
592            let mut context = EventContext::new(&envelope.event_id, e);
593            handler.on_player_transfer(server, &mut context).await;
594            server.send_event_result(context).await.ok();
595        }
596        types::event_envelope::Payload::Command(e) => {
597            let mut context = EventContext::new(&envelope.event_id, e);
598            handler.on_command(server, &mut context).await;
599            server.send_event_result(context).await.ok();
600        }
601        types::event_envelope::Payload::PlayerDiagnostics(e) => {
602            let mut context = EventContext::new(&envelope.event_id, e);
603            handler.on_player_diagnostics(server, &mut context).await;
604            server.send_event_result(context).await.ok();
605        }
606        types::event_envelope::Payload::WorldLiquidFlow(e) => {
607            let mut context = EventContext::new(&envelope.event_id, e);
608            handler.on_world_liquid_flow(server, &mut context).await;
609            server.send_event_result(context).await.ok();
610        }
611        types::event_envelope::Payload::WorldLiquidDecay(e) => {
612            let mut context = EventContext::new(&envelope.event_id, e);
613            handler.on_world_liquid_decay(server, &mut context).await;
614            server.send_event_result(context).await.ok();
615        }
616        types::event_envelope::Payload::WorldLiquidHarden(e) => {
617            let mut context = EventContext::new(&envelope.event_id, e);
618            handler.on_world_liquid_harden(server, &mut context).await;
619            server.send_event_result(context).await.ok();
620        }
621        types::event_envelope::Payload::WorldSound(e) => {
622            let mut context = EventContext::new(&envelope.event_id, e);
623            handler.on_world_sound(server, &mut context).await;
624            server.send_event_result(context).await.ok();
625        }
626        types::event_envelope::Payload::WorldFireSpread(e) => {
627            let mut context = EventContext::new(&envelope.event_id, e);
628            handler.on_world_fire_spread(server, &mut context).await;
629            server.send_event_result(context).await.ok();
630        }
631        types::event_envelope::Payload::WorldBlockBurn(e) => {
632            let mut context = EventContext::new(&envelope.event_id, e);
633            handler.on_world_block_burn(server, &mut context).await;
634            server.send_event_result(context).await.ok();
635        }
636        types::event_envelope::Payload::WorldCropTrample(e) => {
637            let mut context = EventContext::new(&envelope.event_id, e);
638            handler.on_world_crop_trample(server, &mut context).await;
639            server.send_event_result(context).await.ok();
640        }
641        types::event_envelope::Payload::WorldLeavesDecay(e) => {
642            let mut context = EventContext::new(&envelope.event_id, e);
643            handler.on_world_leaves_decay(server, &mut context).await;
644            server.send_event_result(context).await.ok();
645        }
646        types::event_envelope::Payload::WorldEntitySpawn(e) => {
647            let mut context = EventContext::new(&envelope.event_id, e);
648            handler.on_world_entity_spawn(server, &mut context).await;
649            server.send_event_result(context).await.ok();
650        }
651        types::event_envelope::Payload::WorldEntityDespawn(e) => {
652            let mut context = EventContext::new(&envelope.event_id, e);
653            handler.on_world_entity_despawn(server, &mut context).await;
654            server.send_event_result(context).await.ok();
655        }
656        types::event_envelope::Payload::WorldExplosion(e) => {
657            let mut context = EventContext::new(&envelope.event_id, e);
658            handler.on_world_explosion(server, &mut context).await;
659            server.send_event_result(context).await.ok();
660        }
661        types::event_envelope::Payload::WorldClose(e) => {
662            let mut context = EventContext::new(&envelope.event_id, e);
663            handler.on_world_close(server, &mut context).await;
664            server.send_event_result(context).await.ok();
665        }
666    }
667}