Skip to content
BasaltSoftware
Bedrock 1.26.60

Site colour

Discord
Esc

    ↑↓ moveEnter openEsc close

    Keyboard shortcuts
    Ctrl K
    Search the whole site, from any page
    /
    Jump to the sidebar search, or search the whole site where there isn't one
    Enter
    Open the top search result
    Esc
    Clear the search, or close this panel
    ?
    Show these shortcuts

    Class in @minecraft/server-ui

    A form of inputs.

    import { ModalFormData } from '@minecraft/server-ui';
    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();
    title(titleText: Text): ModalFormData;
    Parameters
    titleText
    Text
    Returns
    ModalFormData
    textField(label: Text, placeholderText: Text, textFieldOptions?: ModalFormDataTextFieldOptions): ModalFormData;
    textField(label: Text, placeholderText: Text, defaultValue?: string): ModalFormData;
    toggle(label: Text, toggleOptions?: ModalFormDataToggleOptions): ModalFormData;
    toggle(label: Text, defaultValue?: boolean): ModalFormData;
    slider(label: Text, minimumValue: number, maximumValue: number, sliderOptions?: ModalFormDataSliderOptions): ModalFormData;
    slider(label: Text, minimumValue: number, maximumValue: number, valueStep: number, defaultValue?: number): ModalFormData;
    dropdown(label: Text, items: Text[], dropdownOptions?: ModalFormDataDropdownOptions): ModalFormData;
    dropdown(label: Text, items: Text[], defaultValueIndex?: number): ModalFormData;
    header(text: Text): ModalFormData;
    Parameters
    text
    Text
    Returns
    ModalFormData
    label(text: Text): ModalFormData;
    Parameters
    text
    Text
    Returns
    ModalFormData
    divider(): ModalFormData;
    Returns
    ModalFormData
    submitButton(submitButtonText: Text): ModalFormData;
    Parameters
    submitButtonText
    Text
    Returns
    ModalFormData
    show(player: Player): Promise<ModalFormResponse>;
    Parameters
    player
    Player
    Returns
    Promise<ModalFormResponse>

    UIManager.setServerSettings