124 lines
3.2 KiB
Kotlin
124 lines
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() {
|
||
|
|
||
|
}
|
||
|
}
|