124 lines
No EOL
3.2 KiB
Kotlin
124 lines
No EOL
3.2 KiB
Kotlin
package xyz.brysonsteck.serverfordummies
|
|
|
|
import java.io.File
|
|
import java.io.IOException
|
|
import java.awt.Checkbox
|
|
import java.util.Properties
|
|
|
|
import javafx.beans.value.ChangeListener
|
|
import javafx.beans.value.ObservableValue
|
|
import javafx.beans.property.BooleanProperty
|
|
import javafx.collections.FXCollections
|
|
import javafx.fxml.FXML
|
|
import javafx.geometry.Insets
|
|
import javafx.scene.control.Button
|
|
import javafx.scene.control.ChoiceBox
|
|
import javafx.scene.control.Label
|
|
import javafx.scene.control.TextField
|
|
import javafx.scene.control.Spinner
|
|
import javafx.scene.control.TitledPane
|
|
import javafx.scene.control.ButtonBar
|
|
import javafx.scene.control.CheckBox
|
|
import javafx.scene.layout.Border
|
|
import javafx.scene.layout.BorderStroke
|
|
import javafx.scene.layout.GridPane
|
|
import javafx.scene.layout.Pane
|
|
import javafx.scene.layout.HBox
|
|
import javafx.scene.text.TextAlignment
|
|
import javafx.scene.Scene
|
|
import javafx.scene.input.MouseEvent
|
|
import javafx.stage.FileChooser
|
|
import javafx.stage.FileChooser.ExtensionFilter
|
|
import javafx.stage.DirectoryChooser
|
|
import javafx.event.EventHandler
|
|
|
|
class PrimaryController {
|
|
@FXML
|
|
lateinit private var currentDirectoryLabel: Label
|
|
@FXML
|
|
lateinit private var worldNameField: TextField
|
|
@FXML
|
|
lateinit private var seedField: TextField
|
|
@FXML
|
|
lateinit private var portSpinner: Spinner<kotlin.Int>
|
|
@FXML
|
|
lateinit private var difficultyBox: ChoiceBox<String>
|
|
@FXML
|
|
lateinit private var gamemodeBox: ChoiceBox<String>
|
|
@FXML
|
|
lateinit private var worldTypeBox: ChoiceBox<String>
|
|
@FXML
|
|
lateinit private var worldSettingsPane: HBox
|
|
@FXML
|
|
lateinit private var parentPane: Pane
|
|
@FXML
|
|
lateinit private var buttonBar: ButtonBar
|
|
@FXML
|
|
lateinit private var flightCheckbox: CheckBox
|
|
@FXML
|
|
lateinit private var netherCheckbox: CheckBox
|
|
@FXML
|
|
lateinit private var structuresCheckbox: CheckBox
|
|
@FXML
|
|
lateinit private var pvpCheckbox: CheckBox
|
|
@FXML
|
|
lateinit private var whitelistCheckbox: CheckBox
|
|
@FXML
|
|
lateinit private var cmdBlocksCheckbox: CheckBox
|
|
@FXML
|
|
lateinit private var playerCountCheckbox: CheckBox
|
|
@FXML
|
|
lateinit private var maxPlayersSpinner: Spinner<kotlin.Int>
|
|
@FXML
|
|
lateinit private var maxSizeSpinner: Spinner<kotlin.Int>
|
|
@FXML
|
|
lateinit private var memorySpinner: Spinner<kotlin.Int>
|
|
@FXML
|
|
lateinit private var spawnSpinner: Spinner<kotlin.Int>
|
|
@FXML
|
|
lateinit private var simulationSpinner: Spinner<kotlin.Int>
|
|
@FXML
|
|
lateinit private var renderSpinner: Spinner<kotlin.Int>
|
|
@FXML
|
|
lateinit private var maxTickSpinner: Spinner<kotlin.Int>
|
|
@FXML
|
|
lateinit private var progressBar: ProgressBar
|
|
|
|
@FXML
|
|
private fun onDirectoryButtonClick() {
|
|
val dirChooser = DirectoryChooser()
|
|
dirChooser.title = "Open a server directory"
|
|
dirChooser.initialDirectory = File(System.getProperty("user.home"))
|
|
val result = dirChooser.showDialog(null)
|
|
if (result != null) {
|
|
currentDirectoryLabel.text = result.absolutePath
|
|
parentPane.isDisable = false
|
|
worldSettingsPane.isDisable = false
|
|
buttonBar.isDisable = false
|
|
}
|
|
}
|
|
|
|
@FXML
|
|
private fun onWorldNameChange() {
|
|
|
|
}
|
|
|
|
@FXML
|
|
private fun onSeedChange() {
|
|
|
|
}
|
|
|
|
@FXML
|
|
private fun onPortChange() {
|
|
|
|
}
|
|
|
|
@FXML
|
|
private fun onCheckboxClick() {
|
|
}
|
|
|
|
@FXML
|
|
private fun onSpinnerChange() {
|
|
|
|
}
|
|
} |