Skip to content

Basic Forms

Alexander edited this page Mar 15, 2019 · 2 revisions

Bedrock edition only!

Due to Java Edition doesn't support forms :/

Here we have some basic examples on how to use the different types of forms

Supported Elements:

  • newButton(String text) - ElementButton
  • newElementButtonImageData(String url) - ElementButtonImageData
  • newSlider(String text, int min, int max, int step, int defaultValue) - ElementSlider
  • newInput(String text, String placeholder, String defaultText) - ElementInput
  • newLabel(String text) - ElementLabel
  • newStringList() - ArrayList
  • newDropdown(String text, List options, int defaultOption) - ElementDropdown
  • newStepSlider(String text, List steps, int defaultValue) - ElementStepSlider
  • newToggle(String text, boolean defaultValue) - ElementToggle

Forms Supported:

  • newSimpleForm(String title, String description) - (FormWindowSimple)
  • newCustomForm(String title) - (FormWindowCustom)
  • newModalForm(String title, String content, String trueText, String falseText) - (FormWindowModal)
manager.createCommand("servers", "Server list", "serversCommand");



function serversCommand(sender, args){
    var player = cast.asPlayer(sender);

    //Creating a simple form! Remember that a simple form can only contain buttons!
    var simpleForm = forms.newSimpleForm("Server list", "Here you can see all our servers!");

    var creativeServerButton = forms.newButton("Creative server");
    //Remember that this element will now have the id 0;
    simpleForm.addElement(creativeServerButton);

    var factionerverButton = forms.newButton("Factions server");
    //Remember that this element will now have the id 1;
    simpleForm.addElement(factionerverButton);

    //Here we will display the form and set the form id to 101 so we can get the response later on.
    player.showFormWindow(simpleForm, 101)
}

manager.createCommand("leave", "leave the server", "leaveCommand");



function leaveCommand(sender, args){
    var player = cast.asPlayer(sender);

    //Creating a modal form! Remember that a modal form is a true or false interact form only! 
    //Parameters:
    //Arg 1: Title
    //Arg 2: Description / Text
    //Arg 3: True text
    //Arg 4: False text
    var modalForm = forms.newModalForm("Are you sure?", "Are you sure that you want to leave the server?", "Yes, i'll leave the server.", "No, i'll stay!");

    //Here we will display the form and set the form id to 102 so we can get the response later on.
    player.showFormWindow(modalForm, 102)
}


manager.createCommand("settings", "Change your player settings", "settingsCommand");



function settingsCommand(sender, args){
    var player = cast.asPlayer(sender);

    //Creating a custom form! Remember that a custom form is a form that includes: sliders, input text, toggle and more, it does not have buttons!
    //Parameters:
    //Arg 1: Title
    var customForm = forms.newCustomForm("Player settings");

    //Creating a text label
    //Parameters:
    //Arg 1: Text
    var label1 = form.newLabel("Here you can write a nickname that will be applied to you.");
    //This will have id 0
    customForm.addElement(label1);


    //Parameters:
    //Arg 1: Text
    //Arg 2: Placeholder
    //Arg 3: Default text
    var input1 = form.newInput("Nickname", "Enter a nickname", player.getName());
    //This will have id 1.
    customForm.addElement(input1);


    //Dropdown Menu:

    //Creating an StringList:

    var stList = forms.newStringList();
    stList.add("Danish"); //ID 0
    stList.add("English"); //ID 1

    //Parameters
    //Arg 1: Text
    //Arg 2: String List
    //Arg 3: default value (From string list)

    var dropdown1 = forms.newDropdown("Language", stList, 1);
    //This will have id 2.
    customForm.addElement(dropdown1);

    //Here we will display the form and set the form id to 103 so we can get the response later on.
    player.showFormWindow(customForm, 103)
}





function PlayerFormRespondedEvent(event){
    var formID = event.getFormID();
    var player = event.getPlayer();

    if(formID == 101){
        //Here we will set our form response as an variable
        var response = event.getWindow().getResponse();

        //Here we get our button id and text
        var buttonClickedID = response.getClickedButtonId();
        var buttonClickedText = response.getClickedButton().getText();

        player.sendMessage("You've clicked on the button with id: " + buttonClickedID + " and has the text: " + buttonClickedText);
    } else if(formID == 102){
         //Here we will set our form response as an variable
         var response = event.getWindow().getResponse();

         //Here we will get the button ID and text; 0 = true, 1 = false
         var buttonClickedID = response.getClickedButtonId();
         var buttonClickedText = response.getClickedButton().getText();

         if(buttonClickedID == 0){
             //kick player
             manager.kickPlayer(player);
         } else {
             player.sendMessage("§aThank you for saying with us!");
         }
    } else if(formID == 103){
        //Here we will set our form response as an variable
        var response = event.getWindow().getResponse();

        //Parameters:
        //Arg 1: Element ID
        var InputValue = response.getInputResponse(1);

        
        //Parameters:
        //Arg 1: Element ID
        var Dropdown = response.getDropdownResponse(2);


        var DropdownValueID = Dropdown.getElementID();
        var DropdownValueContent = Dropdown.getElementContent();

        player.sendMessage("New Nickname: " + InputValue);
        player.sendMessage("New Language: " + DropdownValueContent + "("+DropdownValueID+")");
    }

}
Clone this wiki locally