Reference

Заметки по публичному API, import paths и совместимости.

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

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

Public Plugin API

Pulse публикует experimental public v0.2 Plugin API. Он импортируемый и документированный, но полная обратная совместимость не обещается до стабилизации API.

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

Публичная поверхность

  • core/plugin — основная точка входа. Реализуйте plugin.Plugin и используйте plugin.Context в Init.
  • core/content — объявления контента плагина: BlockSpec, ItemSpec, TypedBlockSpec, TypedItemSpec, EffectSpec и EntityTypeSpec.
  • core/gameplay — DTO-only слой. Для игровых изменений используйте plugin.Context.Gameplay().
  • core/command — регистрация команд и обработчиков.
  • core/event — подписки, приоритеты, отменяемые события и свои события плагина.

Справочник handles

Метод
Gameplay
Сигнатура
ctx.Gameplay()
Назначение
Возвращает серверный фасад для игроков, миров, сущностей, сессий, инвентарей и эффектов.
Метод
Players
Сигнатура
Gameplay().Players()
Назначение
Открывает коллекцию игроков с поиском по имени, ID, XUID, UUID или активной сессии.
Метод
Inventory
Сигнатура
PlayerHandle.Inventory()
Назначение
Возвращает handle инвентаря. Все изменения проходят через проверку сервера и синхронизацию Bedrock.
Метод
ContainerAt
Сигнатура
WorldHandle.ContainerAt(pos, size)
Назначение
Создает или находит серверный контейнер в указанной точке мира.
Метод
RegisterCommand
Сигнатура
ctx.RegisterCommand(command.New(...))
Назначение
Регистрирует команду плагина и автоматически очищает ее при выгрузке.

Not Public Yet