Reference

Public API notes, import paths, and compatibility surfaces.

In this section

Related section pages:

Public Plugin API

Pulse exposes an experimental public v0.2 Plugin API. It is importable and documented, but full backward compatibility is not promised until the API is stabilized.

imports.go
import (	"github.com/pulse-core/Pulse/core/plugin"	"github.com/pulse-core/Pulse/core/content"	"github.com/pulse-core/Pulse/core/gameplay"	"github.com/pulse-core/Pulse/core/command"	"github.com/pulse-core/Pulse/core/event")
module.txt
github.com/pulse-core/Pulse

Public Surface

  • core/plugin is the main entrypoint. Implement plugin.Plugin and use plugin.Context in Init.
  • core/content is for plugin-owned content declarations: BlockSpec, ItemSpec, TypedBlockSpec, TypedItemSpec, EffectSpec, and EntityTypeSpec.
  • core/gameplay is DTO-only. Use plugin.Context.Gameplay() for authoritative gameplay calls.
  • core/command is for command registration and handlers.
  • core/event is for subscriptions, priorities, cancellable events, and custom plugin events.

Handle Reference

Method
Gameplay
Signature
ctx.Gameplay()
Purpose
Returns the server-owned gameplay facade for players, worlds, entities, sessions, inventory, and effects.
Method
Players
Signature
Gameplay().Players()
Purpose
Opens the player collection with lookup by name, ID, XUID, UUID, or active session identity.
Method
Inventory
Signature
PlayerHandle.Inventory()
Purpose
Returns an inventory handle whose mutations go through server validation and Bedrock sync.
Method
ContainerAt
Signature
WorldHandle.ContainerAt(pos, size)
Purpose
Creates or resolves a server-owned container handle at the target world position.
Method
RegisterCommand
Signature
ctx.RegisterCommand(command.New(...))
Purpose
Registers a plugin command and scopes cleanup to plugin unload.

Not Public Yet