set export modName := "finalbeta" modVersion := "1.4.0" setup: ./cleanup.sh ./decompile.sh just _create-bakups [working-directory: './src/minecraft/net/minecraft/src/'] _create-bakups: #!/usr/bin/env bash (for file in $(fd --no-ignore ".java"); do [ -e "$file" ] || continue just create-bakup "$file" done) [working-directory: './src/minecraft/net/minecraft/src/'] _create-backup file: #!/usr/bin/env bash bak="$file.bak" # stop from accidentally overwriting backups [ -e "$bak" ] && echo "$bak already exists, skipping!" && exit cp "$file" "$bak" [working-directory: './src/minecraft/net/minecraft/src/'] apply-patches: #!/usr/bin/env bash (for file in $(fd --no-ignore ".java.bak"); do core="${file/.bak/}" patch="${core}.patch" rm "$core" cp "$file" "$core" patch < "$patch" done) [working-directory: './src/minecraft/net/minecraft/'] create-patches: #!/usr/bin/env bash (for file in $(fd --no-ignore ".java.bak"); do core="${file/.bak/}" # check to see if the file has been changed check="$(cmp -s $file $core && echo 1 || echo 0)" [ $check -eq 0 ] || continue patch="${core}.patch" echo "Creating patch file for $core" diff -Nau "$file" "$core" > "$patch" || true done) build: # Delete previous builds fd . './builds' -e .zip --exec rm just create-patches ./recompile.sh ./reobfuscate.sh for file in $(fd . ./lib -e "jar"); do unzip -qo "$file" -d "./reobf/minecraft/"; done (cd ./reobf/minecraft && zip -qr "../../builds/${modName}-${modVersion}-modloader.zip" ./*)