Class in @minecraft/server-ui
A form of inputs.
import { ModalFormData } from '@minecraft/server-ui';Example
Section titled “Example”import { world, type Player } from '@minecraft/server';import { ModalFormData } from '@minecraft/server-ui';
async function openSettings(player: Player): Promise<void> { const form = new ModalFormData() .title('Settings') .textField('Nickname', 'Type a name') .toggle('Show scoreboard', { defaultValue: true }) .slider('Render distance', 4, 16, { defaultValue: 8 }) .submitButton('Save'); const response = await form.show(player); if (response.canceled || !response.formValues) return;
// One value per field, in the order the fields were added. const [nickname, scoreboard, distance] = response.formValues; player.sendMessage(`Saved: ${nickname}, ${scoreboard}, ${distance}`);}
world.afterEvents.itemUse.subscribe((event) => { if (event.itemStack.typeId === 'minecraft:book') openSettings(event.source);});import { world } from '@minecraft/server';import { ModalFormData } from '@minecraft/server-ui';
async function openSettings(player) { const form = new ModalFormData() .title('Settings') .textField('Nickname', 'Type a name') .toggle('Show scoreboard', { defaultValue: true }) .slider('Render distance', 4, 16, { defaultValue: 8 }) .submitButton('Save'); const response = await form.show(player); if (response.canceled || !response.formValues) return;
// One value per field, in the order the fields were added. const [nickname, scoreboard, distance] = response.formValues; player.sendMessage(`Saved: ${nickname}, ${scoreboard}, ${distance}`);}
world.afterEvents.itemUse.subscribe((event) => { if (event.itemStack.typeId === 'minecraft:book') openSettings(event.source);});Constructor
Section titled “Constructor”constructor();Methods
Section titled “Methods”title(titleText: Text): ModalFormData;Parameters
titleTextText
Returns
ModalFormDatatextField
Section titled “textField”textField(label: Text, placeholderText: Text, textFieldOptions?: ModalFormDataTextFieldOptions): ModalFormData;textField(label: Text, placeholderText: Text, defaultValue?: string): ModalFormData;toggle
Section titled “toggle”toggle(label: Text, toggleOptions?: ModalFormDataToggleOptions): ModalFormData;toggle(label: Text, defaultValue?: boolean): ModalFormData;slider
Section titled “slider”slider(label: Text, minimumValue: number, maximumValue: number, sliderOptions?: ModalFormDataSliderOptions): ModalFormData;slider(label: Text, minimumValue: number, maximumValue: number, valueStep: number, defaultValue?: number): ModalFormData;dropdown
Section titled “dropdown”dropdown(label: Text, items: Text[], dropdownOptions?: ModalFormDataDropdownOptions): ModalFormData;dropdown(label: Text, items: Text[], defaultValueIndex?: number): ModalFormData;header
Section titled “header”header(text: Text): ModalFormData;Parameters
textText
Returns
ModalFormDatalabel(text: Text): ModalFormData;Parameters
textText
Returns
ModalFormDatadivider
Section titled “divider”divider(): ModalFormData;Returns
ModalFormDatasubmitButton
Section titled “submitButton”submitButton(submitButtonText: Text): ModalFormData;Parameters
submitButtonTextText
Returns
ModalFormDatashow(player: Player): Promise<ModalFormResponse>;Parameters
playerPlayer
Returns
Promise<ModalFormResponse>