Forms

Формы Bedrock с обработчиками ответов на стороне сервера.

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

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

Формы как server-owned specs

Forms описывают simple, modal и custom формы Bedrock, а обработчики ответов остаются в состоянии сервера. Плагину не нужно работать с пакетами напрямую.

simple-form.go
_, err := playerHandle.SendForm(	form.Simple("Kit selector").		Content("Choose a starter kit").		Button("Miner", func(fc form.Context, response form.SimpleResponse) error {			playerHandle, ok := ctx.Gameplay().Players().Get(fc.PlayerID)			if !ok {				return nil			}			_, err := playerHandle.Inventory().Give(item.New("iron_pickaxe").Stack())			return err		}).		OnClose(func(fc form.Context, reason form.CloseReason) error {			return ctx.Gameplay().SendMessage(gameplay.PlayerMessageRequest{				PlayerID: fc.PlayerID,				Text:     "No kit selected",			})		}))

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

Для старого request-style кода используйте ctx.Gameplay().SendFormTo(playerID, formRef). В новом коде лучше работать через PlayerHandle, если игрок уже найден.