aboutsummaryrefslogtreecommitdiff
path: root/src/main/resources/xyz
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/resources/xyz')
-rw-r--r--src/main/resources/xyz/brysonsteck/ServerCraft/app.pngbin0 -> 75026 bytes
-rw-r--r--src/main/resources/xyz/brysonsteck/ServerCraft/css/info-tabs.css5
-rw-r--r--src/main/resources/xyz/brysonsteck/ServerCraft/icons/info.pngbin0 -> 5289 bytes
-rw-r--r--src/main/resources/xyz/brysonsteck/ServerCraft/icons/warning.pngbin0 -> 5131 bytes
-rw-r--r--src/main/resources/xyz/brysonsteck/ServerCraft/info.fxml108
-rw-r--r--src/main/resources/xyz/brysonsteck/ServerCraft/primary.fxml362
6 files changed, 475 insertions, 0 deletions
diff --git a/src/main/resources/xyz/brysonsteck/ServerCraft/app.png b/src/main/resources/xyz/brysonsteck/ServerCraft/app.png
new file mode 100644
index 0000000..ceb633a
--- /dev/null
+++ b/src/main/resources/xyz/brysonsteck/ServerCraft/app.png
Binary files differ
diff --git a/src/main/resources/xyz/brysonsteck/ServerCraft/css/info-tabs.css b/src/main/resources/xyz/brysonsteck/ServerCraft/css/info-tabs.css
new file mode 100644
index 0000000..023b0c1
--- /dev/null
+++ b/src/main/resources/xyz/brysonsteck/ServerCraft/css/info-tabs.css
@@ -0,0 +1,5 @@
+.tab-pane>*.tab-header-area>*.tab-header-background {
+ -fx-background-color: "#F4F4F4";
+ -fx-border-color: "#DCDCDC";
+ -fx-border-width: 0 0 1 0
+} \ No newline at end of file
diff --git a/src/main/resources/xyz/brysonsteck/ServerCraft/icons/info.png b/src/main/resources/xyz/brysonsteck/ServerCraft/icons/info.png
new file mode 100644
index 0000000..c1951a7
--- /dev/null
+++ b/src/main/resources/xyz/brysonsteck/ServerCraft/icons/info.png
Binary files differ
diff --git a/src/main/resources/xyz/brysonsteck/ServerCraft/icons/warning.png b/src/main/resources/xyz/brysonsteck/ServerCraft/icons/warning.png
new file mode 100644
index 0000000..4d66729
--- /dev/null
+++ b/src/main/resources/xyz/brysonsteck/ServerCraft/icons/warning.png
Binary files differ
diff --git a/src/main/resources/xyz/brysonsteck/ServerCraft/info.fxml b/src/main/resources/xyz/brysonsteck/ServerCraft/info.fxml
new file mode 100644
index 0000000..f0b73f3
--- /dev/null
+++ b/src/main/resources/xyz/brysonsteck/ServerCraft/info.fxml
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<?import javafx.geometry.Insets?>
+<?import javafx.scene.control.Button?>
+<?import javafx.scene.control.ButtonBar?>
+<?import javafx.scene.control.Hyperlink?>
+<?import javafx.scene.control.Label?>
+<?import javafx.scene.control.Separator?>
+<?import javafx.scene.control.Tab?>
+<?import javafx.scene.control.TabPane?>
+<?import javafx.scene.image.Image?>
+<?import javafx.scene.image.ImageView?>
+<?import javafx.scene.layout.HBox?>
+<?import javafx.scene.layout.Pane?>
+<?import javafx.scene.layout.VBox?>
+<?import javafx.scene.text.Font?>
+
+<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="358.0" prefWidth="398.0" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="xyz.brysonsteck.ServerCraft.controllers.InfoController">
+ <children>
+ <ImageView fitHeight="115.0" fitWidth="92.0" layoutX="30.0" layoutY="30.0" pickOnBounds="true" preserveRatio="true">
+ <image>
+ <Image url="@app.png" />
+ </image>
+ </ImageView>
+ <Label layoutX="146.0" layoutY="42.0" text="ServerCraft">
+ <font>
+ <Font name="System Bold" size="28.0" />
+ </font>
+ </Label>
+ <Label layoutX="146.0" layoutY="82.0" text="Version 1.0" />
+ <ButtonBar layoutY="318.0" prefHeight="40.0" prefWidth="398.0">
+ <buttons>
+ <Button mnemonicParsing="false" onAction="#closeInfo" text="Close" />
+ </buttons>
+ <padding>
+ <Insets bottom="8.0" left="8.0" right="8.0" top="8.0" />
+ </padding>
+ </ButtonBar>
+ <Label layoutX="52.0" layoutY="135.0" text="A graphical interface for creating Minecraft servers" textAlignment="CENTER" />
+ <TabPane layoutY="158.0" prefHeight="161.0" prefWidth="398.0" stylesheets="@css/info-tabs.css" tabClosingPolicy="UNAVAILABLE">
+ <tabs>
+ <Tab text="About">
+ <content>
+ <Pane prefHeight="200.0" prefWidth="200.0">
+ <children>
+ <Label alignment="TOP_LEFT" prefWidth="398.0" text="This program is for simple Minecraft servers, and expects that the user knows how to port forward.&#10;&#10;ServerCraft is free and open source under the GNU General Public License Version 3.0" wrapText="true">
+ <padding>
+ <Insets bottom="13.0" left="13.0" right="13.0" top="13.0" />
+ </padding>
+ </Label>
+ <Hyperlink fx:id="license" layoutX="127.0" layoutY="110.0" onAction="#openHyperlink" text="License" />
+ <Hyperlink fx:id="source" layoutX="189.0" layoutY="110.0" onAction="#openHyperlink" text="Source Code" />
+ </children>
+ <padding>
+ <Insets bottom="13.0" left="13.0" right="13.0" top="13.0" />
+ </padding>
+ </Pane>
+ </content>
+ </Tab>
+ <Tab text="Authors">
+ <content>
+ <Pane prefHeight="200.0" prefWidth="200.0">
+ <children>
+ <Label layoutX="78.0" layoutY="109.0" text="Want to join the list? Contribute with a PR!" textAlignment="CENTER" />
+ <VBox>
+ <children>
+ <Label text="Bryson Steck" VBox.vgrow="ALWAYS">
+ <font>
+ <Font name="System Bold" size="16.0" />
+ </font>
+ </Label>
+ <Label text="Creator / Maintainer">
+ <padding>
+ <Insets top="4.0" />
+ </padding>
+ </Label>
+ <HBox>
+ <children>
+ <Hyperlink fx:id="bryson_website" onAction="#openHyperlink" text="Website">
+ <HBox.margin>
+ <Insets left="-3.0" top="2.0" />
+ </HBox.margin>
+ </Hyperlink>
+ <Separator orientation="VERTICAL">
+ <padding>
+ <Insets bottom="2.0" top="2.0" />
+ </padding>
+ </Separator>
+ <Hyperlink fx:id="bryson_email" onAction="#openHyperlink" text="Email">
+ <HBox.margin>
+ <Insets top="2.0" />
+ </HBox.margin>
+ </Hyperlink>
+ </children>
+ </HBox>
+ </children>
+ <padding>
+ <Insets bottom="13.0" left="13.0" right="13.0" top="13.0" />
+ </padding>
+ </VBox>
+ </children>
+ </Pane>
+ </content>
+ </Tab>
+ </tabs>
+ </TabPane>
+ </children>
+</Pane>
diff --git a/src/main/resources/xyz/brysonsteck/ServerCraft/primary.fxml b/src/main/resources/xyz/brysonsteck/ServerCraft/primary.fxml
new file mode 100644
index 0000000..6b34102
--- /dev/null
+++ b/src/main/resources/xyz/brysonsteck/ServerCraft/primary.fxml
@@ -0,0 +1,362 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<?import javafx.geometry.Insets?>
+<?import javafx.scene.control.Button?>
+<?import javafx.scene.control.ButtonBar?>
+<?import javafx.scene.control.CheckBox?>
+<?import javafx.scene.control.ChoiceBox?>
+<?import javafx.scene.control.ContextMenu?>
+<?import javafx.scene.control.Label?>
+<?import javafx.scene.control.MenuItem?>
+<?import javafx.scene.control.ProgressBar?>
+<?import javafx.scene.control.Separator?>
+<?import javafx.scene.control.Spinner?>
+<?import javafx.scene.control.SpinnerValueFactory.IntegerSpinnerValueFactory?>
+<?import javafx.scene.control.TextField?>
+<?import javafx.scene.control.TitledPane?>
+<?import javafx.scene.control.Tooltip?>
+<?import javafx.scene.layout.AnchorPane?>
+<?import javafx.scene.layout.HBox?>
+<?import javafx.scene.layout.Pane?>
+<?import javafx.scene.text.Font?>
+
+<Pane fx:id="primary" maxHeight="713.0" maxWidth="963.0" minHeight="713.0" minWidth="963.0" prefHeight="713.0" prefWidth="963.0" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="xyz.brysonsteck.ServerCraft.controllers.PrimaryController">
+ <children>
+ <HBox fx:id="directoryPane" prefHeight="39.0" prefWidth="963.0">
+ <children>
+ <Button id="openFile" fx:id="chooseDirectoryButton" lineSpacing="10.0" mnemonicParsing="false" onMouseClicked="#onDirectoryButtonClick" text="Choose Directory...">
+ <opaqueInsets>
+ <Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
+ </opaqueInsets>
+ <HBox.margin>
+ <Insets />
+ </HBox.margin>
+ </Button>
+ <Separator orientation="VERTICAL" prefHeight="200.0">
+ <HBox.margin>
+ <Insets left="5.0" />
+ </HBox.margin>
+ </Separator>
+ <Label text="Server Directory:">
+ <HBox.margin>
+ <Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
+ </HBox.margin>
+ <font>
+ <Font name="System Bold" size="13.0" />
+ </font>
+ </Label>
+ <Label id="currentFilename" fx:id="currentDirectoryLabel" text="&lt;NONE&gt;">
+ <HBox.margin>
+ <Insets bottom="5.0" right="5.0" top="5.0" />
+ </HBox.margin>
+ </Label>
+ </children>
+ <padding>
+ <Insets bottom="7.0" left="7.0" right="7.0" top="7.0" />
+ </padding>
+ </HBox>
+ <HBox fx:id="worldSettingsPane" disable="true" layoutY="39.0" prefHeight="41.0" prefWidth="963.0">
+ <padding>
+ <Insets bottom="7.0" left="7.0" right="7.0" top="7.0" />
+ </padding>
+ <children>
+ <Label text="World Name:" HBox.hgrow="ALWAYS">
+ <font>
+ <Font name="System Bold" size="13.0" />
+ </font>
+ <HBox.margin>
+ <Insets bottom="5.0" left="5.0" right="5.0" top="6.0" />
+ </HBox.margin>
+ </Label>
+ <TextField fx:id="worldNameField" onInputMethodTextChanged="#onWorldNameChange" text="world">
+ <HBox.margin>
+ <Insets top="2.0" />
+ </HBox.margin>
+ </TextField>
+ <Separator orientation="VERTICAL" prefHeight="200.0">
+ <HBox.margin>
+ <Insets left="5.0" />
+ </HBox.margin>
+ </Separator>
+ <Label text="Seed:">
+ <font>
+ <Font name="System Bold" size="13.0" />
+ </font>
+ <HBox.margin>
+ <Insets bottom="5.0" left="5.0" right="5.0" top="6.0" />
+ </HBox.margin>
+ </Label>
+ <TextField fx:id="seedField" onInputMethodTextChanged="#onSeedChange" promptText="Leave empty for random seed" HBox.hgrow="ALWAYS">
+ <HBox.margin>
+ <Insets top="2.0" />
+ </HBox.margin>
+ </TextField>
+ <Separator orientation="VERTICAL" prefHeight="200.0">
+ <HBox.margin>
+ <Insets left="5.0" />
+ </HBox.margin>
+ </Separator>
+ <Label text="Server Port:" HBox.hgrow="ALWAYS">
+ <font>
+ <Font name="System Bold" size="13.0" />
+ </font>
+ <HBox.margin>
+ <Insets bottom="5.0" left="5.0" right="5.0" top="6.0" />
+ </HBox.margin>
+ </Label>
+ <Spinner fx:id="portSpinner" editable="true" onInputMethodTextChanged="#onPortChange" prefWidth="95.0">
+ <HBox.margin>
+ <Insets top="2.0" />
+ </HBox.margin>
+ <valueFactory>
+ <SpinnerValueFactory.IntegerSpinnerValueFactory amountToStepBy="1" initialValue="25565" max="60000" min="20000" />
+ </valueFactory>
+ </Spinner>
+ </children>
+ <opaqueInsets>
+ <Insets bottom="3.0" />
+ </opaqueInsets>
+ </HBox>
+ <Pane fx:id="parentPane" disable="true" layoutY="78.0" prefHeight="555.0" prefWidth="970.0">
+ <children>
+ <TitledPane fx:id="settingsPane" animated="false" collapsible="false" layoutX="10.0" layoutY="7.0" prefHeight="273.0" prefWidth="627.0" text="Server Settings">
+ <content>
+ <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="311.0" prefWidth="625.0">
+ <children>
+ <CheckBox fx:id="flightCheckbox" layoutX="14.0" layoutY="14.0" mnemonicParsing="false" onMouseClicked="#onCheckboxClick" text="Allow Flight" />
+ <CheckBox fx:id="netherCheckbox" layoutX="14.0" layoutY="42.0" mnemonicParsing="false" onMouseClicked="#onCheckboxClick" selected="true" text="Allow The Nether" />
+ <CheckBox fx:id="structuresCheckbox" alignment="TOP_LEFT" layoutX="14.0" layoutY="70.0" mnemonicParsing="false" onMouseClicked="#onCheckboxClick" selected="true" text="Generate Structures&#10;(such as villages and strongholds)" />
+ <CheckBox fx:id="pvpCheckbox" layoutX="14.0" layoutY="109.0" mnemonicParsing="false" onMouseClicked="#onCheckboxClick" selected="true" text="Allow PvP" />
+ <CheckBox fx:id="whitelistCheckbox" alignment="TOP_LEFT" layoutX="14.0" layoutY="138.0" mnemonicParsing="false" onMouseClicked="#onCheckboxClick" text="Enable Whitelist&#10;(Only users you specify can join)" />
+ <HBox layoutX="6.0" layoutY="174.0">
+ <children>
+ <Label text="Maximum Players:" HBox.hgrow="ALWAYS">
+ <padding>
+ <Insets bottom="8.0" left="8.0" right="8.0" top="8.0" />
+ </padding>
+ </Label>
+ <Spinner fx:id="maxPlayerSpinner" editable="true" prefHeight="23.0" prefWidth="99.0">
+ <valueFactory>
+ <SpinnerValueFactory.IntegerSpinnerValueFactory amountToStepBy="1" initialValue="20" max="1000" min="0" />
+ </valueFactory>
+ <HBox.margin>
+ <Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
+ </HBox.margin>
+ </Spinner>
+ </children>
+ </HBox>
+ <HBox layoutX="6.0" layoutY="207.0">
+ <children>
+ <Label text="Maximum World Size (in blocks):" HBox.hgrow="ALWAYS">
+ <HBox.margin>
+ <Insets />
+ </HBox.margin>
+ <padding>
+ <Insets bottom="8.0" left="8.0" right="8.0" top="8.0" />
+ </padding>
+ </Label>
+ <Spinner fx:id="maxSizeSpinner" editable="true" prefHeight="23.0" prefWidth="155.0">
+ <valueFactory>
+ <SpinnerValueFactory.IntegerSpinnerValueFactory amountToStepBy="1" initialValue="29999984" max="29999984" min="1" />
+ </valueFactory>
+ <HBox.margin>
+ <Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
+ </HBox.margin>
+ </Spinner>
+ </children>
+ </HBox>
+ </children>
+ </AnchorPane>
+ </content>
+ </TitledPane>
+ <TitledPane fx:id="advancedPane" expanded="false" layoutX="10.0" layoutY="289.0" prefHeight="259.0" prefWidth="627.0" text="Advanced Server Settings">
+ <content>
+ <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="269.0" prefWidth="625.0">
+ <children>
+ <CheckBox fx:id="cmdBlocksCheckbox" layoutX="14.0" layoutY="14.0" mnemonicParsing="false" onMouseClicked="#onCheckboxClick" text="Enable Command Blocks" />
+ <CheckBox fx:id="playerCountCheckbox" layoutX="14.0" layoutY="41.0" mnemonicParsing="false" onMouseClicked="#onCheckboxClick" text="Hide Online Player Count" />
+ <HBox layoutX="7.0" layoutY="65.0">
+ <children>
+ <Label ellipsisString="" text="Server Memory in MB:" textOverrun="CLIP" HBox.hgrow="ALWAYS">
+ <tooltip>
+ <Tooltip text="This is the amount of RAM that will get passed to Minecraft/the JVM.&#10;For simple servers, 1024 MB will be plenty.&#10;If you typically have more than 5 concurrent players, consider allocating more." />
+ </tooltip>
+ <padding>
+ <Insets bottom="8.0" left="8.0" right="8.0" top="8.0" />
+ </padding>
+ </Label>
+ <Spinner fx:id="memorySpinner" editable="true" prefHeight="23.0" prefWidth="99.0">
+ <valueFactory>
+ <SpinnerValueFactory.IntegerSpinnerValueFactory amountToStepBy="1" initialValue="1024" max="65536" min="512" />
+ </valueFactory>
+ <HBox.margin>
+ <Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
+ </HBox.margin>
+ </Spinner>
+ </children>
+ </HBox>
+ <HBox layoutX="7.0" layoutY="96.0">
+ <children>
+ <Label text="Spawn Protection Radius:" HBox.hgrow="ALWAYS">
+ <tooltip>
+ <Tooltip text="All blocks in a radius from 0,~,0 will be unbreakable. &#10;If you want to break blocks within spawn, change this value." />
+ </tooltip>
+ <HBox.margin>
+ <Insets />
+ </HBox.margin>
+ <padding>
+ <Insets bottom="8.0" left="8.0" right="8.0" top="8.0" />
+ </padding>
+ </Label>
+ <Spinner fx:id="spawnSpinner" editable="true" prefHeight="23.0" prefWidth="99.0">
+ <valueFactory>
+ <SpinnerValueFactory.IntegerSpinnerValueFactory amountToStepBy="1" initialValue="16" max="29999984" min="0" />
+ </valueFactory>
+ <HBox.margin>
+ <Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
+ </HBox.margin>
+ </Spinner>
+ </children>
+ </HBox>
+ <HBox layoutX="7.0" layoutY="127.0">
+ <children>
+ <Label text="Simulation Distance:" HBox.hgrow="ALWAYS">
+ <tooltip>
+ <Tooltip text="The radius of chunks for each player where ticks will be updated.&#10;In other words, anything outside these circles, such as furnaces, mobs, etc, will not be updated or simulated." />
+ </tooltip>
+ <HBox.margin>
+ <Insets />
+ </HBox.margin>
+ <padding>
+ <Insets bottom="8.0" left="8.0" right="8.0" top="8.0" />
+ </padding>
+ </Label>
+ <Spinner fx:id="simulationSpinner" editable="true" prefWidth="80.0">
+ <valueFactory>
+ <SpinnerValueFactory.IntegerSpinnerValueFactory amountToStepBy="1" initialValue="10" max="40" min="0" />
+ </valueFactory>
+ <HBox.margin>
+ <Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
+ </HBox.margin>
+ </Spinner>
+ </children>
+ </HBox>
+ <HBox layoutX="7.0" layoutY="160.0">
+ <children>
+ <Label text="Render Distance:" HBox.hgrow="ALWAYS">
+ <tooltip>
+ <Tooltip text="The radius of chunks where the server will render the view distance.&#10;Any value higher on a client than what is set will be ignored.&#10;Higher values will be more demanding on the server." />
+ </tooltip>
+ <HBox.margin>
+ <Insets />
+ </HBox.margin>
+ <padding>
+ <Insets bottom="8.0" left="8.0" right="8.0" top="8.0" />
+ </padding>
+ </Label>
+ <Spinner fx:id="renderSpinner" editable="true" prefWidth="80.0">
+ <valueFactory>
+ <SpinnerValueFactory.IntegerSpinnerValueFactory amountToStepBy="1" initialValue="10" max="40" min="2" />
+ </valueFactory>
+ <HBox.margin>
+ <Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
+ </HBox.margin>
+ </Spinner>
+ </children>
+ </HBox>
+ <HBox layoutX="7.0" layoutY="192.0">
+ <children>
+ <Label text="Maximum Tick Time (in milliseconds):" HBox.hgrow="ALWAYS">
+ <tooltip>
+ <Tooltip text="If the server cannot update ticks (i.e. &quot;lags&quot;) for longer than this amount of time, the server will shutdown.&#10;60000 ms (60 seconds) is the default." />
+ </tooltip>
+ <padding>
+ <Insets bottom="8.0" left="8.0" right="8.0" top="8.0" />
+ </padding>
+ </Label>
+ <Spinner fx:id="maxTickSpinner" editable="true">
+ <valueFactory>
+ <SpinnerValueFactory.IntegerSpinnerValueFactory amountToStepBy="1" initialValue="60000" max="180000" min="10000" />
+ </valueFactory>
+ <HBox.margin>
+ <Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
+ </HBox.margin>
+ </Spinner>
+ </children>
+ </HBox>
+ </children>
+ </AnchorPane>
+ </content>
+ </TitledPane>
+ <TitledPane fx:id="difficultyPane" animated="false" collapsible="false" layoutX="649.0" layoutY="7.0" prefHeight="77.0" prefWidth="305.0" text="Difficulty">
+ <content>
+ <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="94.0" prefWidth="303.0">
+ <children>
+ <ChoiceBox fx:id="difficultyBox" layoutX="14.0" layoutY="14.0" prefHeight="23.0" prefWidth="276.0">
+ <contextMenu>
+ <ContextMenu>
+ <items>
+ <MenuItem mnemonicParsing="false" />
+ </items>
+ </ContextMenu>
+ </contextMenu>
+ </ChoiceBox>
+ </children>
+ </AnchorPane>
+ </content>
+ </TitledPane>
+ <TitledPane fx:id="gamemodePane" animated="false" collapsible="false" layoutX="649.0" layoutY="92.0" prefHeight="77.0" prefWidth="305.0" text="Gamemode">
+ <content>
+ <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="94.0" prefWidth="303.0">
+ <children>
+ <ChoiceBox fx:id="gamemodeBox" layoutX="14.0" layoutY="14.0" prefHeight="23.0" prefWidth="276.0" />
+ </children>
+ </AnchorPane>
+ </content>
+ </TitledPane>
+ <TitledPane fx:id="worldTypePane" animated="false" collapsible="false" layoutX="649.0" layoutY="178.0" prefHeight="77.0" prefWidth="305.0" text="World Type">
+ <content>
+ <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="94.0" prefWidth="303.0">
+ <children>
+ <ChoiceBox fx:id="worldTypeBox" layoutX="14.0" layoutY="14.0" prefHeight="23.0" prefWidth="276.0" />
+ </children>
+ </AnchorPane>
+ </content>
+ </TitledPane>
+ </children>
+ </Pane>
+ <ButtonBar fx:id="buttonBar" buttonOrder="L+R" layoutY="635.0" prefHeight="40.0" prefWidth="963.0">
+ <buttons>
+ <Button fx:id="infoButton" mnemonicParsing="false" onMouseClicked="#onInfo" text="About ServerCraft" ButtonBar.buttonData="LEFT" />
+ <Button fx:id="defaultsButton" disable="true" mnemonicParsing="false" onMouseClicked="#onBuild" text="Reset to Defaults" ButtonBar.buttonData="LEFT" />
+ <Button fx:id="buildButton" disable="true" mnemonicParsing="false" onMouseClicked="#onBuild" text="Build Server" ButtonBar.buttonData="RIGHT" />
+ <Button fx:id="startButton" defaultButton="true" disable="true" mnemonicParsing="false" onMouseClicked="#onStart" prefWidth="120.0" text="Start Server" ButtonBar.buttonData="RIGHT" />
+ </buttons>
+ <padding>
+ <Insets bottom="8.0" left="8.0" right="8.0" top="8.0" />
+ </padding>
+ </ButtonBar>
+ <HBox layoutY="680.0" prefHeight="33.0" prefWidth="963.0" style="-fx-background-color: ddd;">
+ <children>
+ <Label text="Status:">
+ <font>
+ <Font name="System Bold" size="13.0" />
+ </font>
+ </Label>
+ <Label fx:id="statusBar" text="Ready.">
+ <HBox.margin>
+ <Insets left="5.0" />
+ </HBox.margin>
+ </Label>
+ <ProgressBar fx:id="progressBar" prefWidth="400.0" visible="false">
+ <HBox.margin>
+ <Insets left="10.0" />
+ </HBox.margin>
+ </ProgressBar>
+ </children>
+ <padding>
+ <Insets bottom="9.0" left="9.0" right="9.0" top="9.0" />
+ </padding>
+ </HBox>
+ </children>
+</Pane>