Builds a simple two-button modal dialog.

import { world, DimensionLocation } from "@minecraft/server";
import { MessageFormResponse, MessageFormData } from "@minecraft/server-ui";

function showBasicMessageForm(
log: (message: string, status?: number) => void,
targetLocation: DimensionLocation
) {
const players = world.getPlayers();

const messageForm = new MessageFormData()
.title("Message Form Example")
.body("This shows a simple example using §o§7MessageFormData§r.")
.button1("Button 1")
.button2("Button 2");

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

log(`You selected ${formData.selection === 0 ? "Button 1" : "Button 2"}`);
})
.catch((error: Error) => {
log("Failed to show form: " + error);
return -1;
});
}
import { world, DimensionLocation } from "@minecraft/server";
import { MessageFormResponse, MessageFormData } from "@minecraft/server-ui";

function showTranslatedMessageForm(
log: (message: string, status?: number) => void,
targetLocation: DimensionLocation
) {
const players = world.getPlayers();

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

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

log(`You selected ${formData.selection === 0 ? "Player 1" : "Player 2"}`);
})
.catch((error: Error) => {
log("Failed to show form: " + error);
return -1;
});
}
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

  • 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.