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;
});
}

Constructors

Methods

  • Beta

    Forces a form to show even if the player has another form or menu open. If the player has another form or menu open then it will wait until they close it.

    Parameters

    • player: Player

      The player to show the form to

    • Optionaltimeout: number

      The number of ticks before the function will give up and throw an error, it defaults to 9999

    Returns Promise<MessageFormResponse>

    The response of the form