/* * Created by yuuta on 7/13/22. */ #ifndef LIBAC_EVENTS_H #define LIBAC_EVENTS_H #include "common.h" #include "ids.h" #include /* Events */ typedef struct ac_event { uint8_t type; } ac_event_t; #define AC_EVENT_PLAYER_JOIN AC_ID(AC_TYPE_EVENT, 1 /* 0b0000001 */) /* 0b00000001 */ typedef struct ac_event_player_join { uint8_t type; ac_entity_t player; } ac_event_player_join_t; #define AC_EVENT_PLAYER_DISCONNECT AC_ID(AC_TYPE_EVENT, 2 /* 0b0000010 */) /* 0b00000010 */ typedef struct ac_event_player_disconnect { uint8_t type; ac_entity_t *player; char *reason; } ac_event_player_disconnect_t; #define AC_EVENT_ENTITY_DEATH AC_ID(AC_TYPE_EVENT, 3 /* 0b00000011 */) /* 0b00000011 */ typedef struct ac_event_entity_death { uint8_t type; ac_entity_t entity; char *message; } ac_event_entity_death_t; #define AC_EVENT_PLAYER_MESSAGE AC_ID(AC_TYPE_EVENT, 4 /* 0b00000100 */) /* 0b00000100 */ typedef struct ac_event_player_message { uint8_t type; ac_entity_t player; char *text; } ac_event_player_message_t; #define AC_EVENT_LAGGING AC_ID(AC_TYPE_EVENT, 5 /* 0b00000101 */) /* 0b00000101 */ typedef struct ac_event_lagging { uint8_t type; int64_t ms; int64_t ticks; } ac_event_lagging_t; #endif /* LIBAC_EVENTS_H */