-
Notifications
You must be signed in to change notification settings - Fork 4
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+")");
}
}