Skip to content

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.

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): .

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 -
  • 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.