pms-cli/utils/reset
2024-01-06 17:11:14 +01:00

51 lines
1.5 KiB
Bash

#!/usr/bin/env bash
function reset() {
if [[ ! -d "$(getValueByKey 'PODMAN_DIRECTORY')/${1}" ]]; then
log e "Directory '${1}' does not exist"
exit 1
fi
local dir="$(getValueByKey 'PODMAN_DIRECTORY')/${1}"
local datapack_dir="$dir/data/world/datapacks"
while [[ ! $deleteDataDir =~ [YyNn] ]]; do
read -p "Do you want to reset the complete data dir located in ${dir}/data ? (This is a unrecoverable process): " deleteDataDir
case "$deleteDataDir" in
"N"|"n")
log e "Aborted by user!"
exit 1
;;
esac
done
local backedup=false
if [[ -n $(find "${datapack_dir}" -maxdepth 1 -type f) ]]; then
while [[ ! $backupDatapacksAns =~ [YyNn] ]]; do
read -p "Do you want to backup the datapack .zip found in $datapack_dir ?: " backupDatapacksAns
case "$backupDatapacksAns" in
"Y"|"y")
local backedup=true
local tempdir=$(mktemp -d /tmp/pms-cli.XXXXXX)
mv ${datapack_dir}/*.zip ${tempdir}/
;;
esac
done
fi
rm -rf "$dir/data"
mkdir -p "$dir/data/world/datapacks"
if [[ "$backedup" == true ]]; then
while [[ ! $restoreDatapacksAns =~ [YyNn] ]]; do
read -p "You have some backed up datapack .zip in $tempdir. Do you want to restore them now?: " restoreDatapacksAns
case "$restoreDatapacksAns" in
"Y"|"y")
mv ${tempdir}/*.zip "${dir}/data/world/datapacks/"
rm -rf "$tempdir"
;;
esac
done
fi
log s "Server '$1' resetted!"
}