Builds a simple two-button modal dialog.

import { Player } from '@minecraft/server';
import { MessageFormResponse, MessageFormData } from '@minecraft/server-ui';

function showMessage(player: Player) {
const messageForm = new MessageFormData()
.title({ translate: 'permissions.removeplayer' }) // "Remove player"
.body({ translate: 'accessibility.list.or.two', with: ['Player 1', 'Player 2'] }) // "Player 1 or Player 2"
.button1('Player 1')
.button2('Player 2');

messageForm
.show(player)
.then((formData: MessageFormResponse) => {
// player canceled the form, or another dialog was up and open.
if (formData.canceled || formData.selection === undefined) {
return;
}

player.sendMessage(`You selected ${formData.selection === 0 ? 'Player 1' : 'Player 2'}`);
})
.catch((error: Error) => {
player.sendMessage('Failed to show form: ' + error);
});
}
import { world } from "@minecraft/server";
import { MessageFormData } from "@minecraft/server-ui";
// Find player with admin tag
let player = world.getPlayers({ tags: ["admin"] })[0];
let form = new MessageFormData();
form.title("Higher Random Tick Warning");
form.body(
"Are you sure you want to run this command:\n/gamerule randomtickspeed 1000\nThis can cause lag to the world"
);
form.button1("Yes, do it!");
form.button2("No, leave it as default!");
form.show(player).then((response) => {
if (response.selection == 0) {
player.runCommand("/gamerule randomtickspeed 1000");
}
});

Constructors

Methods

  • Beta

    Parameters

    • player: Player

      Player to show this dialog to.

    Returns Promise<MessageFormResponse>

    Creates and shows this modal popup form. Returns asynchronously when the player confirms or cancels the dialog.

    This function can't be called in read-only mode.

    This function can throw errors.