#!/bin/bash

# shellcheck source=start-utils
. "${SCRIPTS:-$(dirname "$0")}/start-utils"
set -o pipefail
set -e
isDebugging && set -x

requireVar VANILLA_VERSION
: "${MOHIST_BUILD:=lastSuccessfulBuild}"

mohistJobs=https://ci.codemc.io/job/MohistMC/job/
mohistJob=${mohistJobs}Mohist-${VANILLA_VERSION}/

if ! get --exists "${mohistJob}"; then
  log "ERROR: mohist builds do not exist for ${VANILLA_VERSION}"
  log "       check https://ci.codemc.io/job/MohistMC/ for available versions"
  log "       and set VERSION accordingly"
  exit 1
fi

buildRelPath=$(
  get --json-path '$.artifacts[0].relativePath' "${mohistJob}${MOHIST_BUILD}/api/json"
)

baseName=$(basename "${buildRelPath}")
if [[ ${baseName} != *-server.jar* ]]; then
  log "ERROR: mohist build for ${VANILLA_VERSION} is not a valid server jar, found ${baseName}"
  log "       check https://ci.codemc.io/job/MohistMC/ for available versions"
  log "       and set VERSION accordingly"
  exit 1
fi

export SERVER="/data/${baseName}"

if [ ! -f "${SERVER}" ]; then
  log "Downloading ${baseName}"
  get -o "${SERVER}" "${mohistJob}${MOHIST_BUILD}/artifact/${buildRelPath}"
fi

export SKIP_LOG4J_CONFIG=true

exec "${SCRIPTS:-$(dirname "$0")}/start-setupWorld" "$@"
