API status
This page is generated on every build from the server sources, so it always matches the release the docs were built from. It answers “will my plugin actually see this?” for every event and host service.
Events the engine fires
Section titled “Events the engine fires”78 of 78 catalogue events have a firing site in the engine.
| Event | Cancellable | Fired from |
|---|---|---|
ServerStartEvent |
no | src/scripting/ipc/ipc_events.g.hpp, src/scripting/ipc/session.cpp, src/server/main.cpp |
ServerStopEvent |
no | src/scripting/ipc/ipc_events.g.hpp, src/scripting/ipc/session.cpp, src/server/main.cpp |
TickStartEvent |
no | src/scripting/ipc/ipc_events.g.hpp, src/scripting/ipc/session.cpp |
TickEndEvent |
no | src/scripting/ipc/ipc_events.g.hpp, src/scripting/ipc/session.cpp |
ServerListPingEvent |
no | src/scripting/ipc/ipc_events.g.hpp |
CommandsRegisteredEvent |
no | src/scripting/ipc/ipc_events.g.hpp, src/scripting/ipc/session.cpp |
PluginEnableEvent |
no | src/scripting/ipc/ipc_events.g.hpp, src/scripting/ipc/session.cpp |
PluginDisableEvent |
no | src/scripting/ipc/ipc_events.g.hpp, src/scripting/ipc/session.cpp |
PermissionChangedEvent |
no | src/game/scriptbridge/bridge_permissions.cpp, src/scripting/ipc/ipc_events.g.hpp, src/scripting/ipc/session.cpp |
PermissionsReloadedEvent |
no | src/scripting/ipc/ipc_events.g.hpp, src/scripting/ipc/session.cpp |
PlayerPreLoginEvent |
yes | src/scripting/ipc/ipc_events.g.hpp, src/scripting/ipc/session.cpp |
PlayerJoinEvent |
no | src/scripting/ipc/ipc_events.g.hpp, src/scripting/ipc/session.cpp |
PlayerQuitEvent |
no | src/scripting/ipc/ipc_events.g.hpp, src/scripting/ipc/session.cpp |
PlayerMoveEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
PlayerChatEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
PrivateMessageEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
PlayerCommandEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
PlayerInteractBlockEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
PlayerKickEvent |
yes | src/scripting/ipc/ipc_events.g.hpp, src/scripting/ipc/session.cpp |
PlayerRespawnEvent |
no | src/scripting/ipc/ipc_events.g.hpp |
PlayerDeathEvent |
no | src/scripting/ipc/ipc_events.g.hpp |
PlayerCreativeSlotEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
PlayerItemHeldEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
PlayerSwapHandsEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
PlayerDropItemEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
PlayerPickupItemEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
PlayerConsumeEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
PlayerInteractEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
PlayerInteractEntityEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
PlayerToggleSneakEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
PlayerToggleSprintEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
PlayerToggleFlightEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
PlayerGameModeChangeEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
PlayerTeleportEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
PlayerPortalEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
PlayerChangedWorldEvent |
no | src/scripting/ipc/ipc_events.g.hpp |
PlayerResourcePackStatusEvent |
no | src/scripting/ipc/ipc_events.g.hpp |
PlayerLevelChangeEvent |
no | src/scripting/ipc/ipc_events.g.hpp |
BlockBreakEvent |
yes | src/scripting/event_bus.hpp, src/scripting/ipc/ipc_events.g.hpp |
BlockPlaceEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
BlockDamageEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
BlockIgniteEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
BlockBurnEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
BlockSpreadEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
BlockFadeEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
BlockFormEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
BlockGrowEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
BlockPistonExtendEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
BlockPistonRetractEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
BlockRedstoneEvent |
no | src/scripting/ipc/ipc_events.g.hpp |
EntitySpawnEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
EntityDamageEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
EntityDeathEvent |
no | src/scripting/ipc/ipc_events.g.hpp |
EntityCombustEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
InventoryOpenEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
InventoryCloseEvent |
no | src/scripting/ipc/ipc_events.g.hpp |
InventoryClickEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
InventoryDragEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
CraftItemEvent |
no | src/scripting/ipc/ipc_events.g.hpp |
PrepareCraftEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
FurnaceSmeltEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
FurnaceBurnEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
EnchantItemEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
PrepareAnvilEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
PacketReceiveEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
PacketSendEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
ChunkLoadEvent |
no | src/scripting/ipc/ipc_events.g.hpp |
ChunkUnloadEvent |
no | src/scripting/ipc/ipc_events.g.hpp |
TimeSkipEvent |
no | src/scripting/ipc/ipc_events.g.hpp |
WeatherChangeEvent |
no | src/scripting/ipc/ipc_events.g.hpp |
PortalCreateEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
MenuClickEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
MenuCloseEvent |
no | src/scripting/ipc/ipc_events.g.hpp |
CustomItemUseEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
CustomBlockPlaceEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
CustomBlockBreakEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
CustomBlockInteractEvent |
yes | src/scripting/ipc/ipc_events.g.hpp |
NpcInteractEvent |
no | src/scripting/ipc/ipc_events.g.hpp |
Declared in the catalogue but not fired yet (you can subscribe; nothing raises them): .
Host services
Section titled “Host services”| Service | Wired to the game | What a plugin sees while it is not wired |
|---|---|---|
Server.SendMessage |
yes | - |
Server.Broadcast |
yes | - |
Server.CurrentTick |
yes | - |
Commands.Register commands run from in-game chat (nodes of the server command tree) |
yes | - |
plugin.json manifest read by the loader |
yes | - |
Always available
Section titled “Always available”- ECS:
plugin.Ecs(RegisterComponent,Spawn,Query<...>),Entity,Systems(phases, ordering, replace),Scheduler. - The event bus: subscribe, priorities, cancellation, mutable fields, custom events,
HasSubscribers. - Hot reload with ownership tracking (everything registered through the plugin context is released on unload).
- Logging through
Log/Logger.