#!/bin/bash set -eu # shellcheck source=start-utils . "${SCRIPTS:-/}start-utils" : "${CF_PAGE_URL:=}" : "${CF_SLUG:=}" : "${CF_FILE_ID:=}" : "${CF_FILENAME_MATCHER:=}" : "${CF_PARALLEL_DOWNLOADS:=4}" : "${CF_FORCE_SYNCHRONIZE:=false}" resultsFile=/data/.install-curseforge.env isDebugging && set -x args=( --results-file="$resultsFile" ) if [[ $CF_PAGE_URL ]]; then args+=(--modpack-page-url="$CF_PAGE_URL") fi if [[ $CF_FILE_ID ]]; then args+=(--file-id="$CF_FILE_ID") fi if [[ $CF_SLUG ]]; then args+=(--slug="$CF_SLUG") fi if [[ $CF_FILENAME_MATCHER ]]; then args+=(--filename-matcher="$CF_FILENAME_MATCHER") fi args+=( --parallel-downloads="$CF_PARALLEL_DOWNLOADS" --force-synchronize="$CF_FORCE_SYNCHRONIZE" ) defaultModExcludes=( 581495 # oculus 363363 # extreme-sound-muffler 448233 # entityculling 574856 # rubidium 441114 # nekos-enchanted-books 521480 # skin-layers-3d 433760 # not-enough-animations 568563 # entity-texture-features-fabric 274259 # carry-on 787666 # ignitioncoil, not a client mod, but doesn't seem to play nice with server mode 700629 # defensive-measures ) : "${CF_EXCLUDE_MODS:=${defaultModExcludes[@]}}" args+=(--exclude-mods="$CF_EXCLUDE_MODS") defaultModForceIncludes=( 656526 # revelationary ) : "${CF_FORCE_INCLUDE_MODS:=${defaultModForceIncludes[@]}}" args+=(--force-include-mods="$CF_FORCE_INCLUDE_MODS") if ! mc-image-helper install-curseforge "${args[@]}"; then log "ERROR failed to auto-install CurseForge modpack" exit 1 fi # grab SERVER, FAMILY and export it set -a # shellcheck disable=SC1090 source "${resultsFile}" set +a exec "${SCRIPTS:-/}start-setupWorld" "$@"