#!/bin/bash

. /start-utils

legacyJavaFixerUrl=http://ftb.cursecdn.com/FTB2/maven/net/minecraftforge/lex/legacyjavafixer/1.0/legacyjavafixer-1.0.jar
legacyJavaFixerPath=/data/FeedTheBeast/mods/legacyjavafixer.jar
export TYPE=FEED-THE-BEAST

echo "Looking for Feed-The-Beast server modpack."
if [[ -z $FTB_SERVER_MOD ]]; then
    echo "Environment variable FTB_SERVER_MOD not set."
    echo "Set FTB_SERVER_MOD to the file name of the FTB server modpack."
    echo "(And place the modpack in the /data directory.)"
    exit 2
fi

# only download and install if a mod pack isn't already installed
# also check for the start script rather than just the folder
# this allows saving just the world separate from the rest of the data directory
export FTB_SERVER_START=${FTB_DIR}/ServerStart.sh
if [ ! -f ${FTB_SERVER_START} ]; then
  srv_modpack=${FTB_SERVER_MOD}
  if isURL ${srv_modpack}; then
      case $srv_modpack in
        https://www.feed-the-beast.com/*/download)
          ;;
        https://www.feed-the-beast.com/*)
          srv_modpack=${srv_modpack}/download;;
      esac
      file=$(basename $(dirname $srv_modpack))
      downloaded=/data/${file}.zip
      if [ ! -e $downloaded ]; then
        echo "Downloading FTB modpack...
  $srv_modpack -> $downloaded"
        curl -sSL -o $downloaded $srv_modpack
      fi
      srv_modpack=$downloaded
  fi
  if [[ ${srv_modpack:0:5} == "data/" ]]; then
      # Prepend with "/"
      srv_modpack=/${srv_modpack}
  fi
  if [[ ! ${srv_modpack:0:1} == "/" ]]; then
      # If not an absolute path, assume file is in "/data"
      srv_modpack=/data/${srv_modpack}
  fi
  if [[ ! -f ${srv_modpack} ]]; then
      echo "FTB server modpack ${srv_modpack} not found."
      exit 2
  fi
  if [[ ! ${srv_modpack: -4} == ".zip" ]]; then
      echo "FTB server modpack ${srv_modpack} is not a zip archive."
      echo "Please set FTB_SERVER_MOD to a file with a .zip extension."
      exit 2
  fi

  echo "Unpacking FTB server modpack ${srv_modpack} ..."
  mkdir -p ${FTB_DIR}
  unzip -o ${srv_modpack} -d ${FTB_DIR} | awk '{printf "."} END {print ""}'
  cp -f /data/eula.txt ${FTB_DIR}/eula.txt
fi

chmod a+x ${FTB_SERVER_START}
sed -i "s/-jar/-Dfml.queryResult=confirm -jar/" ${FTB_SERVER_START}

if isTrue ${FTB_LEGACYJAVAFIXER} && [ ! -e ${legacyJavaFixerPath} ]; then
  echo "Installing legacy java fixer to ${legacyJavaFixerPath}"
  curl -sSL -o ${legacyJavaFixerPath} ${legacyJavaFixerUrl}
fi

# Continue to Final Setup
exec /start-finalSetup01World $@
