#!/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" # 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) # 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) # 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" # 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