Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Important
This documentation is for an older version of this module. Go to the latest documentation here.
Builds a simple player form with buttons that let the player take action.
Methods
constructor
new ActionFormData()
Creates a new modal form builder.
Returns ActionFormData
body
body(bodyText: minecraftserver.RawMessage | string): ActionFormData
Method that sets the body text for the modal form.
Parameters
- bodyText: @minecraft/server.RawMessage | string
Returns ActionFormData
button
button(text: minecraftserver.RawMessage | string, iconPath?: string): ActionFormData
Adds a button to this form with an icon from a resource pack.
Parameters
- text: @minecraft/server.RawMessage | string
- iconPath?: string =
null
Returns ActionFormData
show
show(player: minecraftserver.Player): Promise<ActionFormResponse>
Creates and shows this modal popup form. Returns asynchronously when the player confirms or cancels the dialog.
Parameters
player: @minecraft/server.Player
Player to show this dialog to.
Returns Promise<ActionFormResponse>
Notes:
- This function can't be called in restricted-execution mode.
- This function can throw errors.
title
title(titleText: minecraftserver.RawMessage | string): ActionFormData
This builder method sets the title for the modal dialog.
Parameters
- titleText: @minecraft/server.RawMessage | string
Returns ActionFormData
Examples
showActionForm.ts
import { world, DimensionLocation } from '@minecraft/server';
import { ActionFormData, ActionFormResponse } from '@minecraft/server-ui';
function showActionForm(log: (message: string, status?: number) => void, targetLocation: DimensionLocation) {
const playerList = world.getPlayers();
if (playerList.length >= 1) {
const form = new ActionFormData()
.title('Test Title')
.body('Body text here!')
.button('btn 1')
.button('btn 2')
.button('btn 3')
.button('btn 4')
.button('btn 5');
form.show(playerList[0]).then((result: ActionFormResponse) => {
if (result.canceled) {
log('Player exited out of the dialog. Note that if the chat window is up, dialogs are automatically canceled.');
return -1;
} else {
log('Your result was: ' + result.selection);
}
});
}
}
(preview) Work with this sample on the MCTools.dev code sandbox.
showFavoriteMonth.ts
import { world, DimensionLocation } from '@minecraft/server';
import { ActionFormData, ActionFormResponse } from '@minecraft/server-ui';
function showFavoriteMonth(log: (message: string, status?: number) => void, targetLocation: DimensionLocation) {
const players = world.getPlayers();
if (players.length >= 1) {
const form = new ActionFormData()
.title('Months')
.body('Choose your favorite month!')
.button('January')
.button('February')
.button('March')
.button('April')
.button('May');
form.show(players[0]).then((response: ActionFormResponse) => {
if (response.selection === 3) {
log('I like April too!');
return -1;
}
});
}
}
(preview) Work with this sample on the MCTools.dev code sandbox.