42 lines
1.2 KiB
Bash
Executable File
42 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
# Update placeholders in serverpack run file and inside serverpack zip(s)
|
|
# using values from pakku-lock.json. Mirrors the GitHub workflow logic.
|
|
|
|
|
|
LOCK_JSON="./pakku-lock.json"
|
|
BASE_FILE=".pakku/server-overrides/forge-auto-install.txt"
|
|
RUN_FILE="./build/serverpack/forge-auto-install.txt"
|
|
SERVERPACK_DIR="./build/serverpack"
|
|
|
|
# Extract info like in the workflow
|
|
MC_VERSION=$(jq -r '.mc_versions[0]' "$LOCK_JSON")
|
|
LOADER_KEY=$(jq -r '.loaders | keys[0]' "$LOCK_JSON")
|
|
LOADER_VERSION=$(jq -r --arg k "$LOADER_KEY" '.loaders[$k]' "$LOCK_JSON")
|
|
|
|
# Normalize loader type to expected casing
|
|
case "$LOADER_KEY" in
|
|
forge|Forge) LOADER_TYPE="Forge" ;;
|
|
neoforge|NeoForge) LOADER_TYPE="NeoForge" ;;
|
|
*) LOADER_TYPE="$LOADER_KEY" ;;
|
|
esac
|
|
|
|
echo "minecraftVersion=$MC_VERSION"
|
|
echo "loaderType=$LOADER_TYPE"
|
|
echo "loaderVersion=$LOADER_VERSION"
|
|
|
|
cp "$BASE_FILE" "$RUN_FILE"
|
|
|
|
sed -i -e "s/LOADER_VERSION/${LOADER_VERSION}/g" "$RUN_FILE"
|
|
sed -i -e "s/LOADER_TYPE/${LOADER_TYPE}/g" "$RUN_FILE"
|
|
sed -i -e "s/MINECRAFT_VERSION/${MC_VERSION}/g" "$RUN_FILE"
|
|
|
|
for z in "$SERVERPACK_DIR"/*.zip; do
|
|
zip -q -u -j "$z" "$RUN_FILE"
|
|
echo "patched zip: $z"
|
|
done
|
|
|
|
rm "$RUN_FILE"
|
|
|