Pulse Documentation

Официальная документация Pulse: Go-based Bedrock server runtime с Plugin API, командами, событиями, формами, инвентарем и world APIs.

В этом разделе

Другие страницы раздела:

Pulse Documentation

Pulse — Go-based Bedrock server runtime для модульной архитектуры, plugin development и high-performance gameplay systems.

Начните с Plugin API, изучите lifecycle runtime, создавайте команды, обрабатывайте события, собирайте forms и работайте с игроками, инвентарями и мирами.

Go
типизированные плагины
0-copy
направление runtime
v0.2
публичный API

Почему Pulse

Архитектура вокруг плагинов

Команды, задачи, формы, описания контента и игровые действия регистрируются через публичный API, без прямого доступа к внутренностям сервера.

plugin.Contextserver-owned API

Сервер отвечает за состояние

Изменения инвентаря, мира, сущностей и сессий проходят через runtime-сервисы, поэтому валидация, события и синхронизация остаются согласованными.

PlayerHandleWorldHandle

Путь совместимости

Request-style методы остаются для старых плагинов, а новый код постепенно переходит на PMMP-like handles.

request-stylehandle API

Документация рядом с кодом

Сайт готов к Markdown и MDX-страницам и повторяет публичную поверхность API из локальной документации проекта.

MDX-readylocal docs

Простой пример

gameplay.go
playerHandle, ok := ctx.Gameplay().Players().ByName("Steve")if !ok {	return fmt.Errorf("player not found")}target, ok := ctx.Gameplay().Players().Resolve("Steve") // ID, name, XUID, or UUID_ = target_ = ok_, err := playerHandle.Inventory().Give(item.New("diamond_sword").	Enchant(item.Sharpness(5)).	NameTag("Arena Blade").	Stack())worldHandle, ok := ctx.Gameplay().Worlds().ByName("Hub")if !ok {	return fmt.Errorf("world not found")}container := worldHandle.ContainerAt(world.Pos{X: 10, Y: 64, Z: 10}, 27)_, err = container.Give(item.New("diamond").Count(8).Stack())

Начните с API

Совместимость

Старые request-style методы остаются доступными, но новый API проводит изменения через сервисы сервера.

Карта архитектуры

Pulse отделяет API плагинов от внутреннего состояния сервера. Плагин описывает действие через типизированные методы, а сервер применяет его через свои сервисы.

  • Plugin Context: регистрация, логирование, планировщик, permissions, forms и доступ к Gameplay().
  • Gameplay Collections: players, worlds, entities, sessions и player data.
  • Handles: операции с игроками, сущностями, инвентарем, мирами, контейнерами и сессиями.
  • Runtime Services: validation, events, cancellation, sync и обновления Bedrock-клиента.