Compare commits
3 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
af7de38202 | ||
|
|
cb45cd169a | ||
|
|
91b0c616a6 |
|
|
@ -1,6 +1,6 @@
|
|||
# Tinker's Tinkering
|
||||
|
||||
Tester edition of **Minecraft Rebalance**, a modpack intended to rework almost every feature in the game with a focus on the vanilla progression.
|
||||
Tester edition of **Minecraft Rebalanced**, a modpack intended to rework almost every feature in the game with a focus on the vanilla progression.
|
||||
|
||||
This modpack contains a [custom mod](https://patience.nearmisses.xyz/patience/mc_rebalance) and [custom datapack](https://patience.nearmisses.xyz/SergeantAcoustic/mc_rebalance_datapack) to bind everything together. They will not function correctly outside this pack. Some details on what the modpack changes can be found in the mod's README.
|
||||
|
||||
|
|
|
|||
|
|
@ -34,4 +34,8 @@ if [ ! -d release ]; then
|
|||
mkdir release
|
||||
fi;
|
||||
|
||||
zip -FSr "$basedir/release/Tinker's tinkering.mrpack" overrides modrinth.index.json -x "*.git*"
|
||||
# Get version from the mrpack file
|
||||
version="$(jq -r ".versionId" modrinth.index.json)"
|
||||
|
||||
# Export release to file
|
||||
zip -FSr "$basedir/release/MC_Rebalance_${version}.mrpack" overrides modrinth.index.json -x "*.git*"
|
||||
|
|
|
|||
64
mrpacktool.sh
Executable file
64
mrpacktool.sh
Executable file
|
|
@ -0,0 +1,64 @@
|
|||
#!/bin/bash
|
||||
|
||||
# User input error handling
|
||||
if [[ $# -eq 0 ]]; then
|
||||
echo "$0: A mod url is required."
|
||||
exit 4
|
||||
fi
|
||||
|
||||
# Do everything relative to this files path
|
||||
parent_path=$( cd "$(dirname "${BASH_SOURCE[0]}")" ; pwd -P )
|
||||
cd "$parent_path"
|
||||
|
||||
# Paths
|
||||
mods_dir="/tmp/"
|
||||
|
||||
# Options parsing
|
||||
mod_url="$1"
|
||||
out_file="${2:-$parent_path/modrinth.index.json}"
|
||||
|
||||
if [ -n "$v" ]; then
|
||||
echo "Verbose: $v, Mod url: $mod_url, Output: $out_file"
|
||||
fi
|
||||
|
||||
# https://stackoverflow.com/questions/6250698/how-to-decode-url-encoded-string-in-shell#37840948
|
||||
function urldecode() {
|
||||
: "${*//+/ }"
|
||||
echo -e "${_//%/\\x}"
|
||||
}
|
||||
|
||||
# Get file name from url trimmed by slash and url decoded
|
||||
mod_file="$(urldecode ${mod_url##*/})"
|
||||
trap "rm ${mods_dir}/${mod_file}" HUP INT TERM EXIT
|
||||
echo "Downloading file..."
|
||||
wget -N --no-verbose --directory-prefix "$mods_dir" "$mod_url"
|
||||
|
||||
# Collect data required by modrinth.index.json
|
||||
echo "Processing file info"
|
||||
mod_path="${mods_dir}/${mod_file}"
|
||||
|
||||
modrinth_size="$(du --bytes "$mod_path" | cut -f -1)"
|
||||
modrinth_sha1="$(sha1sum "$mod_path" | cut -d " " -f 1)"
|
||||
modrinth_sha512="$(sha512sum "$mod_path" | cut -d " " -f -1)"
|
||||
|
||||
# Writing to file
|
||||
echo "Writing to file"
|
||||
jq ".files += [{ \
|
||||
\"downloads\": [
|
||||
\"${mod_url}\"
|
||||
],
|
||||
\"env\": {
|
||||
\"client\": \"required\",
|
||||
\"server\": \"required\"
|
||||
},
|
||||
\"fileSize\": ${modrinth_size},
|
||||
\"hashes\": {
|
||||
\"sha1\": \"${modrinth_sha1}\",
|
||||
\"sha512\": \"${modrinth_sha512}\"
|
||||
},
|
||||
\"path\": \"mods/${mod_file}\"
|
||||
}]" "$out_file" > "$out_file.tmp"
|
||||
|
||||
mv "$out_file.tmp" "$out_file"
|
||||
|
||||
[ $? -eq 0 ] && echo "Successfully appended mod to ${out_file}"
|
||||
Loading…
Reference in a new issue