{
"showActionForm": {
  "description": "Shows a very basic action form. See https://learn.microsoft.com/minecraft/creator/scriptapi/minecraft/server-ui/actionformdata",
  "prefix": ["mc"],
  "body": ["  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);",
"      }",
"    });",
"  }"
]},
"showFavoriteMonth": {
  "description": "Shows a dialog that lets a player pick their favorite month. See https://learn.microsoft.com/minecraft/creator/scriptapi/minecraft/server-ui/actionformdata",
  "prefix": ["mc"],
  "body": ["  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;",
"      }",
"    });",
"  }"
]},
"showBasicMessageForm": {
  "description": "Shows an example two-button dialog. See https://learn.microsoft.com/minecraft/creator/scriptapi/minecraft/server-ui/messageformdata",
  "prefix": ["mc"],
  "body": ["  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;",
"    });"
]},
"showTranslatedMessageForm": {
  "description": "Shows an example translated two-button dialog dialog. See https://learn.microsoft.com/minecraft/creator/scriptapi/minecraft/server-ui/messageformdata",
  "prefix": ["mc"],
  "body": ["  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;",
"    });"
]},
"showBasicModalForm": {
  "description": "Shows an example multiple-control modal dialog. See https://learn.microsoft.com/minecraft/creator/scriptapi/minecraft/server-ui/modalformdata",
  "prefix": ["mc"],
  "body": ["  const players = world.getPlayers();",
"  const modalForm = new ModalFormData().title('Example Modal Controls for §o§7ModalFormData§r');",
"  modalForm.toggle('Toggle w/o default');",
"  modalForm.toggle('Toggle w/ default', true);",
"  modalForm.slider('Slider w/o default', 0, 50, 5);",
"  modalForm.slider('Slider w/ default', 0, 50, 5, 30);",
"  modalForm.dropdown('Dropdown w/o default', ['option 1', 'option 2', 'option 3']);",
"  modalForm.dropdown('Dropdown w/ default', ['option 1', 'option 2', 'option 3'], 2);",
"  modalForm.textField('Input w/o default', 'type text here');",
"  modalForm.textField('Input w/ default', 'type text here', 'this is default');",
"  modalForm",
"    .show(players[0])",
"    .then((formData) => {",
"      players[0].sendMessage(`Modal form results: ${JSON.stringify(formData.formValues, undefined, 2)}`);",
"    })",
"    .catch((error: Error) => {",
"      log('Failed to show form: ' + error);",
"      return -1;",
"    });"
]}
}