#!/usr/bin/env bash
set -euo pipefail

MC_VERSION=${MC_VERSION:-}

MC_LOADER=${MC_LOADER:-}
MC_LOADER_VERSION=${MC_LOADER_VERSION:-}

FABRIC_LOADER_VERSION=${FABRIC_LOADER_VERSION:-${MC_LOADER_VERSION:-}}
FORGE_VERSION=${FORGE_VERSION:-${MC_LOADER_VERSION:-}}
NEOFORGE_VERSION=${NEOFORGE_VERSION:-${MC_LOADER_VERSION:-}}
PAPER_BUILD=${PAPER_BUILD:-""}

JAVA_VERSION=${JAVA_VERSION:-}
JAVA_HOME=/data/java/${JAVA_VERSION}
JAR=${JAR:-"server.jar"}

XMS=${XMS:-2G}
XMX=${XMX:-4G}

ADD_ARGS=${ADD_ARGS:-""}

PUID="${PUID:-1000}"
PGID="${PGID:-1000}"

PATH=${JAVA_HOME}/bin:$PATH

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

source "${SCRIPT_DIR}/lib/common.sh"
source "${SCRIPT_DIR}/lib/java.sh"
source "${SCRIPT_DIR}/lib/server.sh"
source "${SCRIPT_DIR}/lib/loaders/vanilla.sh"
source "${SCRIPT_DIR}/lib/loaders/paper.sh"
source "${SCRIPT_DIR}/lib/loaders/fabric.sh"
source "${SCRIPT_DIR}/lib/loaders/forge.sh"
source "${SCRIPT_DIR}/lib/loaders/neoforge.sh"
source "${SCRIPT_DIR}/lib/loaders/bedrock.sh"

setperms
if [[ "$MC_LOADER" != "bedrock" ]]; then
  javaCheck
fi
serverSelect
if [[ "$MC_LOADER" != "bedrock" ]]; then
  buildCommand
fi
setEula
serverStart
