tinkers_tinkering/export-pack.sh

68 lines
2 KiB
Bash
Raw Normal View History

#!/bin/bash
## Dependencies (arch/debian package names, may differ elsewhere):
## bash, coreutils (dirname, mkdir, rm, cp), git, zip, findutils (find)
## jq is optional
check_dep() {
if ! [ -x "$(command -v $1)" ]; then
echo "You need to install ${2:-$1}"
exit 1
fi
}
check_dep dirname coreutils
check_dep git
check_dep zip
check_dep find findutils
# Navigate to main modpack project directory
cd "$(dirname "$0")"
basedir="$PWD"
2026-01-27 03:17:11 +00:00
# Location for downloading/updating the mc_rebalance mod
if [ ! -d deps ]; then
mkdir deps
fi;
# Location for saving the mc_rebalance mod
if [ ! -d overrides/mods ]; then
mkdir -p overrides/mods
fi;
# Clone the mod repo, if it already exists then update it
echo "# Cloning/updating mod"
git clone --single-branch --branch 1.21 "https://patience.nearmisses.xyz/patience/mc_rebalance.git" "${basedir}/deps/mc_rebalance" 2> /dev/null || \
(cd "${basedir}/deps/mc_rebalance"; git pull > /dev/null)
2026-01-27 03:17:11 +00:00
# Compile the mod
echo "# Compiling mod"
rm -f "${basedir}/deps/mc_rebalance/build/libs/mc_rebalance-"*".jar"
(cd "${basedir}/deps/mc_rebalance/" && ./gradlew build > /dev/null)
2026-01-27 03:17:11 +00:00
# Clean up old mod files
rm -f "${basedir}/overrides/mods/mc_rebalance-"*".jar"
cp "$(find "${basedir}/deps/mc_rebalance/build/libs" -regex "${basedir}/deps\/mc_rebalance\/build\/libs\/mc_rebalance-[0-9\.]+\.jar")" "${basedir}/overrides/mods"
2026-01-27 03:17:11 +00:00
# Generate language files
(cd "$basedir/overrides/global_packs/mc_rebalance_datapack/assets/minecraft/lang/" && ./gen-langs.sh)
# Final path for the modpack
if [ ! -d release ]; then
mkdir release
fi;
# Get version from the mrpack file
version="$(jq -r ".versionId" modrinth.index.json)"
version="${version:-dev}"
# Export release to file
echo "# Zipping mod"
zip --filesync --recurse-paths --quiet "${basedir}/release/MC_Rebalance_${version}.mrpack" overrides modrinth.index.json -x "*.git*" -x "*.sh"
echo
if [ $? -eq 0 ]; then
echo "Successfully exported the modpack to ${basedir}/release/MC_Rebalance_${version}.mrpack"
else
echo "An unknown error occured while zipping the pack"
fi