###
# Remember:
#   Escape \ and : in your Java path on Windows with another \
#   Example:
#     From: C:\Program Files\Eclipse Adoptium\jdk-17.0.9.9-hotspot\bin\java.exe
#     To:   C\:\\Program Files\\Eclipse Adoptium\\jdk-17.0.9.9-hotspot\\bin\\java.exe
#   More on escape characters at https://en.wikipedia.org/wiki/Escape_character
#
# WAIT_FOR_USER_INPUT true/false allows you to enable/disable user confirmation upon
#   graceful script ending.
# RESTART true/false allows you to enable/disable automatically restarting the server
#   should it crash.
# SKIP_JAVA_CHECK true/false allows you to disable/enable the compatibility check
#   of your Minecraft version and the provided Java version, as well as the automatic
#   installation of a compatible Java version, should JAVA be set to 'java'.
# JDK_VENDOR is for the automatic installation of a JDK compatible with the Minecraft
#   version of your server pack. For an extensive list of available vendors, check out
#   https://github.com/Jabba-Team/index/blob/main/index.json
#   Note - For the installation to take place:
#   - SKIP_JAVA_CHECK must be set to 'false'
#   - JAVA be set to 'java'
#   - No 'java' command be available OR
#   - The available Java version behind 'java' be incompatible with your Minecraft version.
# JABBA_INSTALL_VERSION has no effect on the installation of Jabba when using PowerShell.
# MINECRAFT_VERSION is tightly coupled with the modloader version. Be careful when changing this, as the new
#   new version you set may not be compatible with the modloader and modloader version combination.
# MODLOADER and MODLOADER_VERSION same thing as with MINECRAFT_VERSION. Changing any of these three values may
#   have unforseen consequences. Well, I say unforseen, it mostly causes the server to straight up not start,
#   because of incompatibilities. Be very careful when changing these!
# SERVERSTARTERJAR_FORCE_FETCH true/false allows you to enable/disable the force-refreshing of the server.jar
#   when using Forge or NeoForge as your modloader. Force-refreshing means the file is replaced with a freshly
#   downloaded one every time you run the start scripts.
# SERVERSTARTERJAR_VERSION allows you to manually set the version of the server.jar downloaded by the scripts.
#   If you want to always use the latest version, set this to exactly "latest". For a specific version, see
#   https://github.com/neoforged/ServerStarterJar/releases and use the tags on the left as the version,
#   e.g. 0.1.24 or 0.1.25. When setting a specific version, make sure the release you pick actually has a server.jar
#   available for download. When the download fails with the "latest"-setting, then pick a specific one and/or
#   contact the devs of the ServerStarterJar about the latest release not having a server.jar to download.
# USE_SSJ true/false allows you to enable/disable the usage of the ServerStarterJar by the NeoForge project when you are
#   using Forge. Some Forge versions may be incompatible with said ServerStarterJar. As of right now, people
#   ran into trouble when using Forge and Minecraft 1.20.2 and 1.20.3.
#
# DO NOT EDIT THE FOLLOWING VARIABLES MANUALLY
#   - FABRIC_INSTALLER_VERSION
#   - QUILT_INSTALLER_VERSION
#   - LEGACYFABRIC_INSTALLER_VERSION
#
# Variables are not reloaded between automatic restarts. If you've made changes to your
#   variables and you want them to take effect, stop the server and script, then
#   re-run it.
###
MINECRAFT_VERSION=1.21.4
MODLOADER=Fabric
MODLOADER_VERSION=0.16.14
LEGACYFABRIC_INSTALLER_VERSION=1.0.0
FABRIC_INSTALLER_VERSION=1.0.3
QUILT_INSTALLER_VERSION=0.12.1
RECOMMENDED_JAVA_VERSION=21
JAVA_ARGS="-Xmx4G -Xms4G"
JAVA="java"
WAIT_FOR_USER_INPUT=true
ADDITIONAL_ARGS=-Dlog4j2.formatMsgNoLookups=true
RESTART=false
SKIP_JAVA_CHECK=false
JDK_VENDOR=temurin
JABBA_INSTALL_URL_SH=https://github.com/Jabba-Team/jabba/raw/main/install.sh
JABBA_INSTALL_URL_PS=https://github.com/Jabba-Team/jabba/raw/main/install.ps1
JABBA_INSTALL_VERSION=0.13.0
SERVERSTARTERJAR_FORCE_FETCH=true
SERVERSTARTERJAR_VERSION=latest
USE_SSJ=true