Architecture

How Pulse separates plugin API, runtime services, and Bedrock client synchronization.

In this section

Related section pages:

Service Boundaries

Pulse keeps plugin code outside runtime internals. Plugins describe intent through handles and public services; the runtime applies mutations in the order required by gameplay state and Bedrock synchronization.

  • Plugin Context owns registration, logging, scheduling, permissions, forms, and access to Gameplay().
  • Gameplay collections expose players, worlds, entities, sessions, player data, and world templates.
  • Handles route player, entity, inventory, world, container, and session operations through server services.
  • Runtime services perform validation, event dispatch, cancellation, dirty-state tracking, and client updates.

Ownership Model

Public objects returned to plugins are handles or snapshots. A snapshot can be inspected safely, while a handle method asks the server to apply a change.