// Path: src/protocolsupportpocketstuff/api/modals/elements/simple/ModalButton.java
// public class ModalButton extends ModalUIElement {
// 
// 	private ModalImage image;
// 
// 	/***
// 	 * Constructs a new ModalButton with text.
// 	 * @param text - The button's text.
// 	 */
// 	public ModalButton(String text) {
// 		super(text);
// 	}
// 
// 	/***
// 	 * Constructs a new ModalButton with text and image.
// 	 * @param text - The button's text.
// 	 * @param image - The button's image.
// 	 */
// 	public ModalButton(String text, ModalImage image) {
// 		super(text);
// 		this.setImage(image);
// 	}
// 
// 	/**
// 	 * Sets the image of this button.
// 	 * @param image
// 	 * @return this
// 	 */
// 	public ModalButton setImage(ModalImage image) {
// 		this.image = image;
// 		return this;
// 	}
// 
// 	/***
// 	 * Gets the image of this button.
// 	 * @return the image.
// 	 */
// 	public ModalImage getButtonImage() {
// 		return image;
// 	}
// 
// 	/***
// 	 * Sets the text of this button.
// 	 * @param text
// 	 * @return this
// 	 */
// 	public ModalButton setText(String text) {
// 		super.setText(text); 
// 		return this;
// 	}
// 
// 	/***
// 	 * Fully clones a ModalButton.
// 	 * @return a new ModalButton.
// 	 */
// 	public ModalButton clone() {
// 		ModalButton clone = new ModalButton(getText());
// 		clone.setImage(getButtonImage().clone());
// 		return clone;
// 	}
// 
// }
// 
// Path: src/protocolsupportpocketstuff/util/GsonUtils.java
// public class GsonUtils {
// 	public static final Gson GSON = new Gson();
// 	public static final JsonParser JSON_PARSER = new JsonParser();
// }


import protocolsupportpocketstuff.api.modals.elements.simple.ModalButton;
import protocolsupportpocketstuff.util.GsonUtils;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
	public SimpleForm addButtons(ModalButton... buttons) {
		this.buttons.addAll(Arrays.asList(buttons));
		return this;
	}

	/***
	 * Gets all buttons currently inside the modal.
	 * @return the buttons.
	 */
	public List<ModalButton> getButtons() {
		return buttons;
	}

	/***
	 * Fully clones the SimpleForm.
	 * You don't need to clone to resent a modal,
	 * but it can be useful for construction.
	 * @return a new SimpleForm.
	 */
	public SimpleForm clone() {
		SimpleForm clone = new SimpleForm(getTitle(), getContent());
		getButtons().forEach(button -> clone.addButton(button));
		return clone;
	}

	/***
	 * Converts this modal to JSON.
	 * @return the JSON representation of this modal.
	 */
	public String toJSON() {
// Path: src/protocolsupportpocketstuff/api/modals/elements/simple/ModalButton.java
// public class ModalButton extends ModalUIElement {
// 
// 	private ModalImage image;
// 
// 	/***
// 	 * Constructs a new ModalButton with text.
// 	 * @param text - The button's text.
// 	 */
// 	public ModalButton(String text) {
// 		super(text);
// 	}
// 
// 	/***
// 	 * Constructs a new ModalButton with text and image.
// 	 * @param text - The button's text.
// 	 * @param image - The button's image.
// 	 */
// 	public ModalButton(String text, ModalImage image) {
// 		super(text);
// 		this.setImage(image);
// 	}
// 
// 	/**
// 	 * Sets the image of this button.
// 	 * @param image
// 	 * @return this
// 	 */
// 	public ModalButton setImage(ModalImage image) {
// 		this.image = image;
// 		return this;
// 	}
// 
// 	/***
// 	 * Gets the image of this button.
// 	 * @return the image.
// 	 */
// 	public ModalImage getButtonImage() {
// 		return image;
// 	}
// 
// 	/***
// 	 * Sets the text of this button.
// 	 * @param text
// 	 * @return this
// 	 */
// 	public ModalButton setText(String text) {
// 		super.setText(text); 
// 		return this;
// 	}
// 
// 	/***
// 	 * Fully clones a ModalButton.
// 	 * @return a new ModalButton.
// 	 */
// 	public ModalButton clone() {
// 		ModalButton clone = new ModalButton(getText());
// 		clone.setImage(getButtonImage().clone());
// 		return clone;
// 	}
// 
// }
// 
// Path: src/protocolsupportpocketstuff/util/GsonUtils.java
// public class GsonUtils {
// 	public static final Gson GSON = new Gson();
// 	public static final JsonParser JSON_PARSER = new JsonParser();
// }


// Path: src/protocolsupportpocketstuff/api/modals/SimpleForm.java
import protocolsupportpocketstuff.api.modals.elements.simple.ModalButton;
import protocolsupportpocketstuff.util.GsonUtils;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

	public SimpleForm addButtons(ModalButton... buttons) {
		this.buttons.addAll(Arrays.asList(buttons));
		return this;
	}

	/***
	 * Gets all buttons currently inside the modal.
	 * @return the buttons.
	 */
	public List<ModalButton> getButtons() {
		return buttons;
	}

	/***
	 * Fully clones the SimpleForm.
	 * You don't need to clone to resent a modal,
	 * but it can be useful for construction.
	 * @return a new SimpleForm.
	 */
	public SimpleForm clone() {
		SimpleForm clone = new SimpleForm(getTitle(), getContent());
		getButtons().forEach(button -> clone.addButton(button));
		return clone;
	}

	/***
	 * Converts this modal to JSON.
	 * @return the JSON representation of this modal.
	 */
	public String toJSON() {
		return GsonUtils.GSON.toJson(this);